【Java学习笔记】day5--java基础知识续集,内容包括:java的类型转换、java的变量、java的常量、java的运算符

学习java的第五天,希望这些内容对大家有所帮助~

目录

java基础续集来啦

4 类型转换

5 变量

5.1 变量的概念

5.2 常量的概念

5.3 变量的命名规范

5.4 变量作用域

6 运算符

6.1 Java 语言支持如下运算符:

6.2 自增自减运算符

6.3 逻辑运算符

6.4 三元运算符及小结


java基础续集来啦

4 类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

低-------------------------------------------------------->高

byte,short,char->int->long->float->double(小数的优先级大于整数)

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

  • 强制类型转换

  • 自动类型转换

int i=128;
byte b=(byte)i;//内存溢出
​
//强制转换:(类型)变量名   高--低
//自动转换:低--高
​
System.out.println(i);//128
System.out.println(b);//-128
​
/*
注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.在把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
*/
System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//-45
​
char c='a';
int d=c+1;
System.out.println(d);//98
System.out.println((char)d);//b
​
//操作比较大的数的时候,注意溢出问题
//JDK7新特性,数字之间可以用下划线分割
int money=10_0000_0000;//100000000
int years=20;
int total=money*years;//-1474836480,计算的时候溢出了
long total2=money*years;//默认是int,转换之前已经出现问题了
System.out.println(total);
​
long total3=money*((long)years);//先把一个数转换为long
​
​
​

5 变量

5.1 变量的概念

  • 变量是什么:可以变化的量!

  • Java是一种强类型语言,每个变量都必须声明其类型

  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类和作用域。

type varName [=value] [{,varName[=value]}];
//数据类型 变量名=值; 可以使用逗号隔开来声明多个同类变量。
  • 注意事项:

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

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

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

int a,b,c;
int a=1;
int b=2;
int c=3;//程序可读性
​
public class Demo{
//类变量 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);//10
     //变量类型 变量名字=new Demo();
    Demo demo =new Demo();
    System.out.println(demo.age);//0
    System.out.println(demo.name);//null
     //类变量 static
    System.out.println(salary); //2500   
        
}
//其他方法
    
    
}

5.2 常量的概念

  • 常量:初始化之后不能再改变值!不会变动的值

  • 所谓常量可以理解成一种特殊的变量,他的值被设定后,在程序运行过程中不允许被改变

final 常量名=值;

final double PI=3.14;

  • 常量名一般使用大写字符

public class Demo{
//修饰符,不存在先后顺序
    static final double PI=3.14;
    
    public static void main(String[] args){
        System.out.println(PI);//3.14
    }
}

5.3 变量的命名规范

  • 所有变量、方法、类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:monthSalary

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

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:Man,GoodMan

  • 方法名:首字母小写和驼峰原则:run(),runRun()

5.4 变量作用域

  • 类变量

  • 实例变量

  • 局部变量

public class Demo{
//修饰符,不存在先后顺序
    static final double PI=3.14;//类变量
    String str="hello world!";//实例变量
    public static void main(String[] args){
        int i=0;//局部变量
        System.out.println(PI);//3.14
    }
}

6 运算符

6.1 Java 语言支持如下运算符:

  1. 算术运算符:+,-,*,/,%,++,--

  2. 赋值运算符=

  3. 关系运算符:>,<,>=,<=,==(!!!),!=instanceof

  4. 逻辑运算符:&&(与),||(或),!(非

  5. 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)

  6. 条件运算符?:

  7. 扩展赋值运算符:+=,-=,*=,/=

public class Demo{
​
    public static void main(String[] args){
        //二元运算符
        //Ctrl+D:复制当前行到下一行
        int a=10;
        int b=20;
        int c=25;
        int d=25;
        
        System.out.println(a+b);//30
        System.out.println(a-b);//-10
        System.out.println(a*b);//200
        System.out.println(a/(double)b);//0.5
        
        long a=123123123123123L;
        int b=123;
        short c=10;
        byte d=8;
        
        System.out.println(a+b+c+d);//123123123123264(long)
        System.out.println(b+c+d);//141(int)
        System.out.println(c+d);//18(int)
        
        //关系运算符返回的结果:正确,错误 布尔值
        //if 
        int a=10;
        int b=20;
        int c=21;
        
        System.out.println(a>b);//false
        System.out.println(a<b);//true
        System.out.println(a==b);//false
        System.out.println(a!=b);//true
        //取余,模运算
        System.out.println(c%a);//c/a 21/10=2...1(输出1)
    }
}

6.2 自增自减运算符

public class Demo{
​
    public static void main(String[] args){
        //++ -- 自增,自减  一元运算符
        int a=3;
        int b=a++;//执行完这行代码后,先给b赋值,再自增
        //a++ a=a+1;
        System.out.println(a);//4
        
        int c=++a;//执行完这行代码前,先自增,再给b赋值
        //++a a=a+1;
        System.out.println(a);//5
        System.out.println(a);//5
        System.out.println(b);//3
        System.out.println(b);//3
        System.out.println(c);//5
        System.out.println(c);//5
        
        //幂运算 2^3 2*2*2=8  很多运算,我们会使用一些工具来操作!
        double pow=Math.pow(2,3);
        System.out.println(pow);//8.0
    }
}

6.3 逻辑运算符

public class Demo{
//逻辑运算符
    public static void main(String[] args){
        //与(and)或(or)非(取反)
        boolean a=true;
        boolean b=false;
        System.out.println("a && b"+(a&&b));//逻辑与运算:两个变量都为真,结果才为true(a&&b:false)
        System.out.println("a || b"+(a||b));//逻辑或运算:两个变量都为真,则结果才为true(a||b:true)
        System.out.println("!(a && b)"+!(a&&b));//如果是真,则变为假,如果是假则变为真(!(a&&b):true)
        
        //短路运算
        int c=5;
        boolean d=(c<4)&&(c++<4);
        System.out.println(d);//false
        System.out.println(c);//5
        
        /*
        A=0011 1100
        B=0000 1101
        ------------------------
        A&B=0000 1100
        A|B=0011 1101
        A^B=0011 0001
        ~B=1111 0010
        
        2*8怎么运算最快?
        2*8=2*2*2*2=16
        效率及高!!
        <<
        >>
        
        0000 0000 0
        0000 0001 1
        0000 0010 2
        0000 0011 3
        0000 0100 4
        0000 1000 8
        0001 0000 16
        */
        
        System.out.println(2<<3);//16
    }
}

6.4 三元运算符及小结

public class Demo{
​
    public static void main(String[] args){
        int a=10;
        int b=20;
        
        a+=b;//a=a+b
        a-=b;//a=a-b
       
        System.out.println(a);//30
        
        //字符串连接符 + , String
        System.out.println(""+a+b);//1020
        System.out.println(a+b+"");//30
        
        //三元运算符
        //x ? y : z
        //如果x==true,则结果为y,否则结果为z
        int score=80;
        String type= score <60 ?"不及格":"及格";//必须掌握!!!
        System.out.println(type);//及格
    }
}

今天的内容就到此结束啦,明天继续努力!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值