2022/4/12 JavaDay04

数据类型拓展

 public class Demo02 {
     //基础类型拓展
     public static void main(String[] args) {
         //整数拓展   进制   二进制0b 八进制0 十六进制0x
        int i=10;
        int i2=010;//八进制0
        int i3 = 0x10;//十六进制0x   0~9 A~F
         System.out.println(i);
         System.out.println(i2);
         System.out.println(i3);
         System.out.println("=========================");
         //======================
         //浮点数拓展?
         //BigDecimal 数学工具类
         //========================
         // 字符拓展?
 
         //========================
         //float 有限的   离散的   舍入误差   接近但不相等
         //最好完全避免使用浮点数进行比较
         //最好完全避免使用浮点数进行比较
         //最好完全避免使用浮点数进行比较
         //double
 
         float f=0.1f;//0.1
         double d=1.0/10;//0.1
         System.out.println(f==d);//false
         System.out.println(f);
         System.out.println(d);
         float d1=12312312312f;
         float d2=d1+1;
         System.out.println(d1==d2);
         char c1= 'a';
         char c2='中';
         //========================
         // 字符拓展?
         //========================
         System.out.println(c1);
         System.out.println((int)c1);//强制转换
         System.out.println(c2);
         System.out.println((int)c2);//强制转换
         //a
         //97
         //中
         // 20013
         //说明所有字符本质都是数字
         //编码 Unicode 97=a
 
         //u0000~uffff
         char c3='\u0061';
         System.out.println(c3);
         //转义字符
         //\t   制表符(空格)
         System.out.println("Hello\tworld");
         //\n   换行
         //
         String sa = new String("hello world");
         String sb = new String("hello world");
         System.out.println(sa==sb);
 
         String sc = "hello world";
         String sd = "hello world";
         System.out.println(sc==sd);
         //对象 从内存分析,new出来地址是不同的
 
         //布尔值拓展
         boolean flag=true;
         if ( flag ) { }
         if ( flag ) { }
         //less is more代码要精简易读
 
    }
 }

类型转换

运算中,不同类型的数据先转换为同一类型,然后进行计算

byte,short,char ->int->long--float---double

低---------------------------------------------------高

小数优先级一定大于整数

 public class Demo03 {
     public static void main(String[] args) {
         int i=128;
        // byte b =i;//会报错
         byte b=(byte) i;//要进行强制转换
         System.out.println(b);//byte最大到127,128会溢出
         //强制转换 (类型)变量名   高--低(不可以屈居)
         //自动转换 低到高
         /*注意点:
         * 1. 不能对布尔值进行转换
         * 2. 不能把对象类型转换为不相干的类型
         * 3. 把大容量转化为低容量的时候强制转换
         * 4. 转换的时候可能存在内存溢出,或者精度问题
         * */
         System.out.println("=====================");
         System.out.println((int)27.3);//27
         System.out.println((int)-45.89f);//-45
 
         System.out.println("==============");
         char c='a';
         int d =c+1;
         System.out.println(c);
         System.out.println(d);
         System.out.println((char)d);
    }
 }
 
 public class Demo04 {
     public static void main(String[] args) {
         //操作较大的数时,注意溢出问题
         //Jdk7新特性,数字之间可以用下划线分割
         int money =10_0000_0000;
         int years = 20;
         int total=money*years;
         long total2=money*years;//默认是int,转换之前已经存在问题
         System.out.println(total);
         System.out.println(total2);
         long total3=money*((long)years);//先把一个转换为long,就会全部用long计算
         long total4=((long) money)*years;//先把一个转换为long,都可
         System.out.println(total3);
         System.out.println(total4);
         //L l 尽量都用大写L
    }
 }
 

 

变量

变量名+变量类型+作用域

注意事项:

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型

  2. 变量名必须是合法的标识符

  3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束

 public class Demo05 {
     public static void main(String[] args) {
         //变量
         //数据类型 变量名 = 值;
         //int a,b,c;
         //int a=1,b=2,c=3; //尽量不这样写,注意程序可读性
         String name = "孙款";
         char x='x';
         double pi=3.14;
    }
 }

变量作用域

类变量static

实例变量

局部变量

 public class Demo06 {
      //类变量 static
     static double salary = 2500;//自动转换,随着demo这个类一起出现一起消失
     //属性,变量
     //实例变量:从属于对象(demo)//如果不进行初始化,这个类型的默认值 0 0.0 u0000
     //布尔值默认是false
     //除了基本类型,其余的都是null
     String name;
     int age;
 
     //main方法
     public static void main(String[] args) {
         //局部变量;必须声明和初始化值
         int i =10;//仅仅在main中有用
         //变量类型 变量名字 =new Demo06();用new来调用
         Demo06 demo06 = new Demo06();
         System.out.println(demo06.age);//注意要小写的d
         System.out.println(demo06.name);
 
         //类变量 关键字:static
         System.out.println(salary);
    }
     //其他方法
     public void add(){
 
 
    }
 }
 
 public class Demo07 {
     //常量,设定后不再改变,一般使用大写字符
     //修饰符,不存在前后顺序
     //final只可以赋值一次,不可改变
     static final double PI =3.14;
     public static void main(String[] args) {
         System.out.println(PI);
    }
 }
 

 

变量命名规范

  1. 所有变量见名知意

  2. 类成员变量:首字母小写和驼峰原则,除了第一个单词小写,其他的字母首字母大写

  3. 局部变量:首字母小写和驼峰原则

  4. 常量:大写字母加下划线:MAX_VALUE

  5. 类名:首字母大写,驼峰原则

  6. 方法名:首字母小写和驼峰原则

  7.  

posted @ 2022-04-12 22:39  Unclesundada  阅读(166)  评论(0)    收藏  举报