数据类型 方法 流程控制(笔记)

目录

一、数据类型

1.Java的数据类型分类

2.基本数据类型初始值

 3.基本数据类型转换

4.引用类型

二、方法

1.可变参数

三、流程控制

  一、数组循环

1.for循环遍历

2.增强for循环遍历

 二、条件分支


一、数据类型

1.Java的数据类型分类

Java语言的数据类型有两种,即基本数据类型和引用类型

2.基本数据类型初始值

 1)每种具体类型都有不同的默认值;

 2)当没有为一个属性变量赋值时,会根据类型为其赋值为默认值;

注意:char的默认值是\u0000,等同于一个空字符;boolean的默认值是false

 3.基本数据类型转换

1)不同的基本数据类型之间可以进行转换。

2)从表示范围小的类型转换为表示范围大的类型,可以直接转换,称为隐式转换

3)从表示范围大的类型转换为表示范围小的类型,需要强制转换,称为显式转换 

4)虽然类型之间可以进行强制的隐式转换,但是也需要有一定的前提;

      数值类型和boolean类型之间就不能转换;强制也不可以; 

5)不同类型的数据相加,返回数据的数据类型

        byte a = 1;
        short b = 2;
        char c = 3;
        int d=4;
        float e=5;
        double f=6;
        long g=999999999;
        //byte,short,char在运算时是自动转换为int型的,而int与long运算时自动转换为long型
        //double>float>long>int>byte,short,char
        System.out.println("byte+short+char:"+getType(a+b+c));
        System.out.println("byte+short+char+int+float:"+getType(a+b+c+d+e));
        System.out.println("float+double:"+getType(e+f));
        System.out.println("int+long:"+getType(d+g));
        System.out.println("float+long:"+getType(e+g));
        System.out.println("double+long:"+getType(f+g));
    }
    public static String getType(Object o){
        return o.getClass().toString(); //使用int类型的getClass()方法
    }
运行结果:
byte+short+char:class java.lang.Integer
byte+short+char+int+float:class java.lang.Float
float+double:class java.lang.Double
int+long:class java.lang.Long
float+long:class java.lang.Float
double+long:class java.lang.Double

4.引用类型

1)除了8种基本数据类型,其他类型都是引用类型。

2)String属于引用类型

3)引用类型使用=赋值

二、方法

1)方法内部不可以再定义方法

2)main函数调用static方法(静态方法),可以直接采用类名.方法名的形式调用,在同一文件中也可以直接用方法名调用。

main函数调用非static方法(实例方法),需要创建对象,采用实例对象.方法名的形式调用。

1.可变参数

1)J2SE 1.5中提供了一种允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参

2)参数定义形式:

 可变参数用...代替标识, ...位于变量类型和变量名之间,前后有无空格都可以

3)如果有多个参数,可变参数一定放在最后,并且一个方法只能有一个可变参数

4)可变参数使用:

 5)重载

注意:

 

 

 

三、流程控制

  一、数组循环

1.for循环遍历

        //定义一个数组
        int[] a={1,2,3,4,5,6};
        //使用for循环遍历
        for (int i = 0; i < 6; i++) {
            System.out.print(a[i]+",");
        }

2.增强for循环遍历

增强for循环语法:

for(数组元素的类型  临时变量名字 :数组的名字){        

System.out.println(临时变量名字 );

        //使用增强for循环遍历
        for(int i:a){
            System.out.print(i+"<");
        }

 

 二、条件分支

1.  if..else

运算符表达式说明执行
   &&条件1 && 条件2仅仅两个条件同时为真,结果为真条件1为假,条件2不执行
   | |条件1 | | 条件2只要两个条件有一个为真,结果为真条件1为真,条件2不执行
        int m=0,n=0;
        if(m++>0&&n++>0);
        System.out.println("第一次运行结果  m:"+m+"\tn:"+n);
        m=1;n=0;
        if(m>0&&n++>0);
        System.out.println("第二次运行结果  m:"+m+"\tn:"+n);
        m=0;n=0;
        if(++m>0&&++n>0);
        System.out.println("第三次运行结果  m:"+m+"\tn:"+n);
        m=1;n=0;
        if(m++>0||n++>0);
        System.out.println("第四次运行结果  m:"+m+"\tn:"+n);



        运行结果:
        第一次运行结果  m:1	n:0
        第二次运行结果  m:1	n:1
        第三次运行结果  m:1	n:1
        第四次运行结果  m:2	n:0

2. switch/case

switch(表达式) {          

        case 常量表达式1:                

        语句1;          

        case常量表达式2:              

        语句2;            

         ......          

        case常量表达式n :              

        语句n;          

        default:                  

        语句n+1;

}

switch一旦碰到第一次case匹配,程序就会跳转到这个标签位置并开始顺序执行以后所有的程序代码,不管后面的case条件是否匹配,直到碰到break语句为止。

3.可以标记循环,进而跳转循环或中断循环

//continue  循环的标记     中断当前循环跳转到该循环

//break       循环的标记     中断该循环

       //loop pp  标记两个循环
        loop:
        for (int i = 0; i < 7; i++) {
            pp:
            for (int j = 0; j < 1; j++) {
                if (i == 3) {
                    i++;
                    continue pp;
                }
                System.out.println(i + "#Hello World");
            }
        }

      运行结果:
      0#Hello World
      1#Hello World
      2#Hello World
      5#Hello World
      6#Hello World

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值