java基础部分总结(一)

    xiaoxiao2023-11-24  172

    1.数据类型转换

    1.1自动类型转换(隐式)

    1、特点:代码不需要进行特殊处理,自动完成。 2、规则:数据范围从小到大。

    package program1; public class Demo01Type { public static void main(String[] args) { //左边是float类型,右边是long类型,左右不一样 //long>>float,范围是float更大一些,符合从小到大的规则 //也发生了自动类型转换 float num3=30L; System.out.println(num3);//30.0 } }

    1.2强制类型转换(显式)

    1、特点:代码需要进行特殊的格式处理,不能自动完成。 2、格式:==范围小的类型 范围小的变量名 =(范围小的类型) 原本范围大的数据;

    package program2; public class Demo02Type { public static void main(String[] args) { //左边是int类型,右边是long类型,不一样 //long>>int,不是从小到大 //不能自动发生转换 //格式:范围小的类型 范围小的变量名 =(范围小的类型)原本范围大的数据; int num=(int)100L; System.out.println(num);//100 } }

    注意事项: 1、一般不推荐使用,可能发生精度损失、数据溢出。 2、byte/short/char这三种类型都可以发生数学运算,例如加法“+”。 3、byte/short/char这三种类型在运算的时候,都会被首先提升为int类型,然后再计算。 4、boolean类型不能发生数据类型转换。

    package program2; public class Demo02Type { public static void main(String[] args) { //左边是int类型,右边是long类型,不一样 //long>>int,不是从小到大 //不能自动发生转换 //格式:范围小的类型 范围小的变量名 =(范围小的类型)原本范围大的数据; byte num4 = 40;// 注意!右侧数值大小不能超过左侧的类型范围 short num6=60// byte + short >>int +int >> int short result1 = (short)(num4 + num6);// 如果想要用short 类型接收,则必须进行强制类型转换 int result2 = (short) (num4 + num6);// 转换为int类型,则应该用int类型接收 } }

    2.ASCII编码表

    2.1编码表查询

    ASCII编码查询 48 - ‘0’ 65 - ‘A’ 97 - ‘a’

    2.2数字和字符对照关系表(编码表):

    ASCII码表:美国信息交换标准代码。 Unicode码表:万国码。也是数字和符号的对照关系,开头0-127部分和ASCII完全一样,但是从128开始包含有更多字符。

    3.四则运算相关知识

    注意事项: 1、一旦运算当中有不同类型的数据,那么结果将会是数据类型范围大的那种。

    3.1加号

    1、对于字符串String(首字母大写,但并不是关键字)来说,加号代表字符串连接操作。任何数据类型和字符串进行连接的时候,结果都会变成字符串。

    3.2自增自减

    1、变量前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2

    public static void main(String[] args) { int a = 1; int b = ++a; System.out.println(a);//计算结果是2 System.out.println(b);//计算结果是2 }

    2、变量后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b的结果是1

    public static void main(String[] args) { int a = 1; int b = a++; System.out.println(a);//计算结果是2 System.out.println(b);//计算结果是1 }

    3.3比较运算符

    比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false 。

    public static void main(String[] args) { System.out.println(1==1);//true System.out.println(1<2);//true System.out.println(3>4);//false System.out.println(3<=4);//true System.out.println(3>=4);//false System.out.println(3!=4);//true } 逻辑运算符&&短路与短路特点:符号左边是false,右边不再运算II短路或短路特点:符号左边是true,右边不再运算!取反取反操作

    3.4三元运算符

    三元运算符格式: 数据类型 变量名 = 布尔类型表达式? 结果1 : 结果2 三元运算符计算方式:

    public static void main(String[] args) { int i = (1==2 ? 100 : 200); System.out.println(i);//200 int j = (3<=4 ? 500 : 600); System.out.println(j);//500 }

    4.方法入门

    4.1方法定义

    定义格式: 修饰符 返回值类型 方法名 (参数列表){ 代码… return ; } 注意事项: 1、方法定义的先后顺序无所谓 2、方法的定义不能产生嵌套包含关系 3、方法定义好了之后,不会执行的。如果想要执行,一定要进行方法的调用

    4.2方法调用

    方法在定义完毕后,方法不会自己运行,必须被调用才能执行,我们可以在主方法main中来调用我们自己定义好的方法。在主方法中,直接写要调用的方法名字就可以调用了

    public static void main(String[] args) { //调用定义的方法method method(); } / /定义方法,被main方法调用 public static void method() { System.out.println("自己定义的方法,需要被main调用运行"); }

    5.扩展知识

    对于byte/short/char三种类型来说,如果右侧赋值的数值没有超过范围,那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char)。 1、如果没有超过左侧的范围,编译器补上强转。 2、如果右侧超过了左侧范围,那么直接编译器报错。

    在给变量进行赋值的时候,如果右侧的表达式中都是常量,没有任何变量,那么编译器javac将会直接将若干个常量表达式计算得到结果。编译器的常量优化

    最新回复(0)