Java学习(二)

引用类型

  • java中,除了基本类型外的变量类型都称之为引用类型。
  • String类型不是八个基本类型之一,它是JavaSE中常用的类。
  • 当我们声明一个类型的变量时,该变量就称为引用。一个引用要指向一个对象

    String str = "my name is xxx";
    //String s = new String("my name is xxx");
    String str1 = "125";
    String str2 = "125";  //字符串用""来表示。字符用''表示
    char s = 'A';   //表示的是字符。用''来表示
    System.out.print(str);
    int j = 9;
    System.out.print(str2+j); 
    
    //得到1259 任何类型的数据与字符串相加都是字符串类型。拼接。
    //每个对象都有一个toString(),每个对象都可以转换为字符串。
    Scanner inputData = new Scanner(System.in);
    String mo = inputData.toString();
    System.out.print(mo);
    
  • java中每个对象都有一个toString方法,都可以转换为字符串
  • 引用不包含它所指向的对象的实际数据,而是指向内存中对象所在的位置,指向一个内存地址。

Java运行期的数据区

Java虚拟机的内部由类装载器、运行时数据区和执行引擎组成。

  • 类装载器用来装载我们要执行的Java类,执行引擎负责执行被装载类的方法中的指令。
  • 类文件、字节码、常量池(常量和字面量)都放在方法区。
  • 所有对象都放在堆中
  • 栈存放变量、参数、中间量、返回值。

选择结构程序设计

if语句
当if 或者else 后面只有一个语句 可以省略{}

    if(money > 1000) System.out.print("买拖鞋"); 
    System.out.print("这句话没在if的管辖范围内");

if语句一旦执行了 就不会执行else if 或者else,所有条件都不满足默认执行。

        if(data_<4){
        if(money>1000){
            System.out.print("laxiabeier");
        }else{
            System.out.print("mb");         }
    }else if(data_>=4 && data_<6){
        if(money>1000){
            System.out.print("约电影IMX"); }
        else if(money>=500 && money <=1000){
            System.out.print("约电影3D");
        }else{
            System.out.print("2D");         }
    }else if(data_>=6 && data_<10){
        System.out.print("吃饭");
    }else{
        System.out.print("门禁时间");   }

Switch语句

  • 一个Switch语句中可以有很多case语句。
  • case后的值必须是与Switch中的变量相同的数据类型。
  • 当变量的值等case后的值时,该case语句后的语句开始执行,直到遇到break语句时,Switch语句结束。

    switch(s){ case "name":System.out.print("name");break; case "age":System.out.print("age");break;}

    switch 结构(表达式-->值)
    //case 表示选择的方案,case (表达式-->具体的值。称为表达式)
    //传入的参数必须和case 后面表达式类型保持一致
    switch(data){
        case 4:
            System.out.print("逛街"); 
            break; 
        case 5:
            System.out.print("看电影");
            break; 
        case 6:
        case 7:
            System.out.println("吃饭");
            switch(money){
            case 1000:System.out.print("香格里拉");break;
                case 900:System.out.print("太古里");break;
                default:
                    System.out.print("酸菜味儿的xxxx");
            }
            break;  //终止当前的swich判断。
            返回swicth继续执行switch外面的语句
        default:
            System.out.print("今天已闭关 明天约");}
    

for循环

    /*for(i=1;i<=n;){  
    //三个表达式,第一个从多少开始加 第二个加到哪儿停止
      第三个参数每次加了后自增。
    sum = sum + i;
    System.out.println("i:"+i);
    i++;   //i++写在这个位置和写在上面一个意思。}*/

第二段

    for(i =1;;){
        if(i<=n){
            sum+=i;
        }else{
            break;          }
        i++;        }
    int k=0;
    for(;;){    //死循环,没有条件停止循环
        k++;
        System.out.print("我第"+k+"次循环");}

break和continue

    for(j=1;j<=10;j++){
    //当执行到5后停止循环
    if(j==5){
    //break;    //break :switch里面结束判断。
        在循环里面是跳出本轮循环。
    continue;   //结束本次循环,开始下次循环。}
        ji *=j;}
原文地址:https://www.cnblogs.com/yeruheqi/p/5321364.html