Java基础继续

类型转换

  1. Java是强类型语言,在运算的时候,需要用到类型转换

  2. 运算中,不同类型的数据先转换成同一个类型,然后进行运算

public class Demo04 {
    public static void main(String[] args) {
        int i=128;
        byte b =(byte)i ;//强制类型转换
        double c =i;     //自动转换
        //强制类型转换  (类型)变量名  高--低
        //自动转换    低--高

        System.out.println(i);//128
        System.out.println(b);//-128 内存溢出

        /*注意点:
        1.不能对布尔值进行转换
        2.不能把对象类型转换为不相干的类型
        3.在把大容量转换为低容量的时候,强制转换
        4.转换的时候可能存在溢出问题,内存溢出,或者精度问题

         */
        System.out.println("================");
        System.out.println((int)23.7);   //23
        System.out.println((int)-45.33f);//-45   精度问题

        System.out.println("================");
        char d='a';
        int   e=d+1;
        System.out.println(e);       //98
        System.out.println((char)e); //b

    }
}

public class Demo06 {
    public static void main(String[] args) {
        //操作比较大的数的时候,注意溢出问题
        //数字之间可以用下划线分割
        int money=10_0000_0000;
        int years=20;
        int total=money *years;
        long total2=money*years;

        System.out.println(total);//负数
        System.out.println(total2);//还是负数,默认是int,转换前就已经出现问题了

        long total3=money*((long)years);//正常,先把一个数转换为long
        System.out.println(total3);

        //l L  尽量用大写

    }
}

变量

  1. 变量即可以变化的量

  2. 变量是最基本的存储单元,要素包括变量名,变量类型,作用域

  3. 每个变量必须有类型,可以是基本类型,也可以是引用类型

  4. 变量名必须是合法字符

  5. 变量声明是一条完整的语句,以分号结尾

  6. //数据类型 变量名=值 ;可以用逗号隔开来声明多个同类型的变量  不建议一行定义多个变量
    public class Demo07 {
        public static void main(String[] args) {
            //int a,b,c;
            //程序的可读性
            int a=1;
            int b=2;
            int c=3;
            String name ="abc";
            char x='x';
            double pi=3.14;
            
        }
    }
    
    

变量命名规范

  1. 所有的变量,方法,类名:见名如意
  2. 类成员变量:首字母小写和驼峰原则:monthSalary 出来第一个单词意外,后面的字母大写
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则:Man,GoodMan
  6. 方法名:首字母小写和驼峰原则:run(),runRun()

变量作用域

类变量

实例变量

局部变量

public class Demo08 {
    //类变量 static
    static double salary =2500;


    //属性:变量

    //实例变量:从属于对象;如果不自行初始化,这个类型的默认值  0  0.0
    //布尔值:默认是false
    //除了基本类型,其余默认值都是null
    String name;
    int age;


    //main方法
    public static void main(String[] args) {

        //局部变量:必须声明和初始化值
        int i=10;
        System.out.println(i);//只能在这个领域内用

        //变量类型  变量名字=new Demo08()
         Demo08 demo08 =new Demo08();
        System.out.println(demo08.age);//输出0,即默认值
        System.out.println(demo08.name);//null,String

        //类变量 static
        System.out.println(salary);
    }

    //其他方法
    public void add(){

    }
}

常量

初始化后不能改变的值,不会变动的值

final 变量名=值;
final double pi=3.14;

常量名一般用大写

运算符

%:取余运算

!=:不等于

逻辑运算符:&& ,|| , !

package operator;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //ctrl+D:复制当前行到下一行
        int a =10;
        int b =20;
        int c =30;
        int d =40;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);

        System.out.println(a/b);//0  四舍五入
        System.out.println(a/(double)b);//0.5 修改成功
    }
}

package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a =12121212121L;
        int b=122;
        short c=90;
        byte d=2;
        System.out.println(a+b+c+d);//long
        System.out.println(b+c+d);//int  没有long就全部是int类型
        System.out.println(c+d);//int     不能把int类型转换为String类
        
    }
}

package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确 错误  布尔值

        int a=10;
        int b=20;
        int c=21;
        //取余,即模运算  %
        System.out.println(c%a);//c/a   21/10 =2..1

        System.out.println(a>b);
        System.out.println(a==b);
        System.out.println(a<b);
        System.out.println(a!=b);


    }
}

//自增,自减
package operator;

public class Demo04 {
    public static void main(String[] args) {
        //++  --  自增,自减  一元运算符
        int a =3;

        int b =a++;
        //a++ a=a+1

        System.out.println(a);//4

        int c=++a;//


        System.out.println(a);//5

        System.out.println(b);//3

        System.out.println(c);//5

        //幂运算2^3  2*2*2 =8   java没有这种符号  很多运算我们会使用工具类来来计算
        double pow=Math.pow(2,3);//用 math方法
        System.out.println(pow);
        

    }
}