Java基础语法2

Java基础语法2

类型转换

Demo04、05

在这里插入图片描述

转换方法

  • 强制转换 (类型)变量名 高–低
  • 自动转换 低–高

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

  • 操作较大数,注意溢出问题,可如下操作:

    public static void main(String[] args) {
            //操作较大数,注意溢出问题
            //JDK7新特性,数字之间可用下划线分割,且不会被输出
            int money = 10_0000_0000;
            int years = 20;
            int total = money*years;//-1474836480,计算的时候溢出了
            long total2 = money*years;//默认是int,转换之前已经存在问题了
    
            long total123 = money*((long)years);//先把一个数转换为long
            System.out.println(total123);
    
            //L l
        }
    }
    

变量

Demo07

  1. 变量是什么:就是可以变化的量!
  2. Java是一种强类型语言,每个变量都必须声明其类型。
  3. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
  4. 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。变量名必须是合法的标识符。
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束
  • 类变量 static
  • 实例变量:从属于对象;如果不自行初始化,除了布尔值默认为false,其他基本类型为0或0.0
    • 除了基本类型,其余都是null
  • 局部变量;必须声明和初始化值

常量

Demo08

  1. 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
  2. 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
  3. 常量名一般使用大写字符。
  • final 常量名=值;
    final double PI=3.14;

注意

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

运算符

operator

在这里插入图片描述

  1. % :取余,模运算
public static void main(String[] args) {
        //关系预算符返回结果:正确,错误  布尔值
        int a = 10;
        int c = 24;

        //取余,模运算
        System.out.println(c%a);// c/a  24/10=2...4
}
  1. long,int,short,byte运算:
    • 有long结果默认为long
    • 其它默认为interesting型
public class Demo02 {
    public static void main(String[] args) {
        long a =290390299489332L;
        int b = 398;
        short c = 2298;
        byte d = 56;
        System.out.println(a+b+c+d);//Long 有long结果为long
        System.out.println(b+c+d);//Int 默认int
        System.out.println((double)c+d);//Double 强制转换为double
    }
}
  1. 关系运算符返回结果为布尔值:true;false
    • != :不等于
public class Demo03 {
    public static void main(String[] args) {
        //关系预算符返回结果:正确,错误  布尔值
        int a = 10;
        int b = 30;

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}
  1. ++ :自增;-- :自减 ;都是一元运算符
    • b=a++ :先赋值,再自增
    • b=++a :先自增,再赋值
public class Demo04 {
    public static void main(String[] args) {
        //++自增;--自减  一元运算符
        int a = 6;

        int b = a++;//执行完这行代码后,先给b赋值,再自增
        //a++ :a = a+1
        System.out.println(a);
        //++a :a = a+1
        int c = ++a;//执行完这行代码前,先自增,再给c赋值

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算  2^3  2*2*2 = 8
        //很多运算,我们会使用工具类来操作!
        double pow = Math.pow(2,8);
        System.out.println(pow);
    }
}
  1. 逻辑运算符
    • && :逻辑与运算:两个变量都真,结果才为true
    • || :逻辑或运算:两个变量有一个真,则结果为true
    • ! :非,取反:如果是假则变为真;如果是真则变为假
    • 运算a&&b时,若a为假,则停止运算,输出false,不会继续运算b
public class Demo05 {
    public static void main(String[] args) {
        //与(and) 或(or) 非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a&&b:"+(a&&b));//逻辑与运算:两个变量都真,结果才为true
        System.out.println("a||b:"+(a||b));//逻辑或运算:两个变量有一个真,则结果为true
        System.out.println("!(a&&b):"+!(a&&b));//如果是假则变为真;如果是真则变为假

        //短路运算
        int c = 6;
        boolean d = (c<4)&&(c++<4);//c<4为false,&&结果直接返回false,不会继续运算
        System.out.println(d);
        System.out.println(c);
    }
}

  1. 位运算(运算效率高)

    • 若 A = 0011 1100 ; B = 0000 1101 ,则:
      ​A&B = 0000 1100//都为1才为1,其余为0
      ​A|B = 0011 1101//有1则1
      ​A^B = 0011 0001//相同为0,不同为1
      ​~B = 1111 0010//与B相反
    • << :左移(*2);>> :右移(/2)
public class Demo06 {
    public static void main(String[] args) {
    	/*
        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
  1. 条件运算符
    • x ? y : z ——如果 x==true,则结果为y,否则为z
public class Demo08 {
    public static void main(String[] args) {
        // x ? y : z
        //如果 x==true,则结果为y,否则为z
        int score = 80;
        String type = score<60 ?"不及格":"及格";

        System.out.println(type);
    }
}
//结果为及格
  1. 赋值运算符

    • +:字符串连接符

    • a+=b :a=a+b

    • a-=b :a=a-b

public class Demo07 {
    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);

        //字符串连接符  + , String
        System.out.println(a+b+"");//30  ""在后面则先算a+b
        System.out.println(""+a+b);//1020  ""在前面则拼接a,b
    }
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值