变量和运算符

标识符的命名规则

必须以字符、下划线(_)或美元符号($)开头;

余下的字符可以是下划线、美元符号或任何的字母或数字,长度不限;

标识符中不能有空格;

不能使用Java中的关键字或者保留字做为标识符;

数据类型

基本类型 整数类型: byte short int long  (long赋值的时候 数据后面加l或者L)

                浮点数类型 float double (float赋值的时候 数据后面加f或者F   double赋值的时候可加d或D也可不加)

                字符类型 char (char表示单个字符 用单引号 String 表示字符串 表示多个字符 用双引号)

                布尔类型 boolean

                转义类型 \t 表示tab键

引用数据类型 接口 数组 枚举 类

public class 字符类型char {
	public static void main(String[] args) {
		//char 单个字符 单引号
		char c ;
		c = 'b';//char类型赋值时用单引号 字符数据必须使用单引号括起来 
		System.out.println(c);
		c = '聪';
		System.out.println(c);
		//转义字符 \
		c = '\t';
		System.out.println(c);
		//字符数据在计算机中实际上最后都是变成一个整数来存储的
		c = 20013;
		System.out.println(c);
		
		//String 字符串 双引号 不是基本类型 是引用类型
		String name;
		name = "王\t思\t聪\t是舔狗";//字符串数据必须使用双引号括起来
		System.out.println(name);
		int x =1,y =2, z = 3;
		name ="\t";
		System.out.println(x+name+y+name+z);
		
		
	}

}

运算符

赋值运算符

= (右侧赋值给左侧) += (  x+=y 相当于 x=x+y)  -=  *=  /=

+= -= *= /= %=

        byte s1 = 2;
		byte s2 = 3;//参与运算时自动转换为int
		byte s3 = (byte)(s1 + s2);//因为s1与s2有运算 自动转换为int类型 所以强制性转换为byte类型 
		//s2 = s2 + s1;
		s2 += s1;//+=或者其他类型的赋值运算符 可以避免变量数据类型转换之中出现的问题

面试题 

 算术运算符 

+ - * / %++ --

其中/(除法):整数和整数相除等于整数 例:3/2=1 整数不能除以0

                    整数和小数相除等于小数  小数除以0等于infinity

% 取余运算 模运算 得到除不尽的部分称为余数

++ -- 自增 自减

自增 自减 在变量名的前面,先自增自减后运算

自增 自减 在变量名的后面,先运算后自增自减

int x = 3,y = 2;
		int z ;
		z = x++ + --y ;
		System.out.println(x);
		System.out.println(z);//结果为 x=4 z=4

关系运算符

== != > < >= <=

结果都是布尔型

逻辑运算符

&& || !

&& 逻辑与 参与运算的数据都是true 结果才为true

逻辑与 短路运算 如果前面的代码计算的结果是false 则发生短路 后面可以不运算

|| 逻辑或 参与运算的数据有一个true 结果就为true

逻辑或短路运算 如果前面的代码计算的结果是true 则发生短路 后面可以不运算

!逻辑非 反操作 true变false false变true

三元运算符(二选一)

表达式1?表达式2:表达式3; 表达式1为true时结果为表达式2 ,为false时结果为表达式3

		int x = 5,y = 10;
		int max;
		max = x>y?x:y;
		System.out.println(max);
        //x的值<y的值 所以x>y为false 结果为max为y的值 10
        //xy无论值为多少 该三元运算符最后输出为xy之中最大值 
		

数据类型转换 

自动性类型转换

有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后进行计算

定义float和long类型的变量时,变量值后面必须加上 f 和 l (不区分大小写,但建议把 l 写成L)


		short s = 100;
		int m = 1000;
		float f = 0.13f;
		double d =3.64;
		
		d = s + m + f + d;//此时java自动把后面的表达式数据类型转换为表达式中最大类型double

整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵守以下原则

             

char byte short 不能相互转换 同时运算时转化为int类型


		byte x = 0;
		short y = 0;
		
		i = x+y;//此时java自动把表达式数据类型转变为int i为int类型

		

强制性类型转换

容量大的数据类型转换为容量小的数据类型时,需要使用强制类型转换

变量 = (目标类型) 值


		int i = 1000;
		byte b = (byte)i;
		
		System.out.println(b);//此时b=-24 精度溢出
		
		double d = 3.11122233;
		i = (int)d;
		System.out.println(i);//此时i=3 精度丢失
		//强制类型转换会造成
		//1.精度溢出
		//2.精度丢失
		
		short s = 10;
		i = (int)(s+i+d);//表达式进行强制转换时 需要把表达式括起来
		

&&和&的区别?(面试题)
 * &&:逻辑运算符,只能参与逻辑运算,具备短路效应,效率高,开发常用
 * &:位运算符,能参与逻辑运算和位运算,不具备短路效应,开发不常用
 * ||-|同上

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值