首页 > 编程语言 > 详细

Java变量,常量,运算符

时间:2021-07-20 09:16:34      阅读:28      评论:0      收藏:0      [点我收藏+]

Java 变量

可以变化的量,必须先定义后使用。

变量是Java中最基本的存储单元。

type varName = value;

变量类型 变量名(合法标识符) = 值;多个变量可用逗号隔开 int a = 1, b = 2, c = 3;不推荐使用,问就是不好看,可读性差;

变量类型(复习):byte char type int long folat double boolean

? 引用数据类型:类 数组 接口

变量命名规则:

  1. 所有变量,方法,类名,见名知意。name mingzi
  2. 常量使用大写字母和下划线组合。MAX MAX_SIZE
  3. 类名需要首字母大写(MouthSalary),局部变量,方法名,类成员变量,都遵循驼峰命名法(yearSalary)

变量作用域

类变量 关键字 static int salary = 2500;类里面,跟随类的消失

实例变量 类里面 没有初始话的话为默认值,数值为零 布尔为false 其余为null

局部变量 方法里

常量constant

初始化(initialize)后不能改变,一般使用大写字母,需使用关键字final。别问小写,问就是,不好看

final 变量类型 变量名 = 值;

final double PI = 3.14;
static final double MAX = 3;
final static double MAX = 3;//修饰符不存在先后问题 

运算符

算数运算符 + - * / %(取余,取模) ++ --

赋值 =

关系运算符 > < >= <= == !=

逻辑运算符 && || ~

位运算符 & ^ | ~ << >>

 		int a = 5;
        int b = a++;
        int c = ++a;
        System.out.println(a);//7  a++ 自增运算,在值后面先复制再加 自减同理
        System.out.println(b);//5
        System.out.println(c);//7	++a 自增运算,在值前面先加在赋值



        double d = 123;
        long l = 123L;
        float f = 123f;
        int i = 123;
        short s = 12;
        byte b  = 2;
        System.out.println(d+f+i+s+b);
        System.out.println(l+f+i+s+b);
        System.out.println(l+d+f+i+s+b);
        System.out.println(i+s+b);
        System.out.println(s+b);
        System.out.println("===============================");

		//运算中有float,double,long类型 ,有long就是最后结果long类型,float,double 为doublef。float为float 其余为int

        int aa= 10;
        int n = 20;
        System.out.println(aa+n);//30
        System.out.println(""+aa+n);//1020  先后顺序 先转换为字符串在+的话就是字符串的拼接
        System.out.println(aa+n+"");//30  先运算在拼接

逻辑运算符:

与( &&) 或(||) 非(~)

&& 就是两个为真就是真,存在短路与现象 a && b ,如果a是假的,那么b不会运算,相反a是真的,才会运算b

|| 就是两个中有一个是真就是真,存在短路或a || B,如果a是真的,那么不会运算b,反之亦然
就是取反,真的是假的,假的是真的
		int c = 5;
        boolean b = (c>4) || (c++<4);
        System.out.println(b);//True
        System.out.println(c);//5

		int c1 = 5;
        boolean b1 = (c1 < 4) && (c1++>4);
        System.out.println(b1);//Flase
        System.out.println(c1);//5


		 int c1 = 5;
        boolean b1 = (c1 > 4) && (c1++ < 6);
        System.out.println(b1);//true  运算符优先级?
        System.out.println(c1);//6
数据类型

byte(1),short(2),char(2)->int(4)->float(4)->double(8)

类型等级,低————>高

不同类型数值之间做运算需要先转换为同一类型,然后在运算。

       //强制类型转换
		int i = 128;
        byte b  = (byte) i;// byte -128~127 128 内存溢出
        System.out.println(b);//-128


		//自动类型转换
        char a = ‘a‘;
        int c = a + 1;
        System.out.println(a); //a
        System.out.println((int)a);//97
        System.out.println(c);//98

注意:

  1. 不能转换Boolean类型
  2. 不能把对象转换为不相干的类型
  3. 强制类型转换时,小数转换为整数时会损失精度
  4. 操作大数字时会存在溢出

        double d = 123.12;
        int i1 = (int) d;
        System.out.println(d);//123.12
        System.out.println(i1);//123


        int money = 1000000000;//int money = 10_0000_0000;int money1 = 12_1234_1234;大数字可以使用这种方式
        System.out.println(money);//1000000000
        int year = 10;
        int total = year * money;
        System.out.println(total);//	1410065408??

		 int money = 1000000000;
        System.out.println(money);
        int year = 10;
        long total = year * money;//long类型的total year * money已经溢出
        System.out.println(total);//	1410065408??

	 	int money = 1000000000;
        System.out.println(money);
        int year = 10;
        long total = year * (long)money;//long类型的total 
        System.out.println(total);//	100_0000_0000

Java变量,常量,运算符

原文:https://www.cnblogs.com/tangxiyue/p/15032834.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!