变量,运算符(二)

注释

//单行注释
/*多行注释*
区块注释*/
//类是Java当中所有源代码的基本组织单位
public class HelloWorld{
	//程序执行的起点
	public static void main(String args[]){
		//打印语句
		System.out.println("HelloWorld2020");
	}
}

关键字:有特殊含义,被保留的,不能随意使用的字符

常量常量

  • 字符串常量:""中可以有多个字符,或者0个
  • 字符常量:’'中有且仅有一个字符,0个不行
  • 空常量:
数据类型
  1. 8中基本数据类型
    byte,short,int,long,float,double,boolean,char
  2. 引用类型:如String,List等
    八种
  • 字符串不是基本类型,而是引用类型
  • 浮点型可能只是一个近似值,并非精确的值
  • 数据范围与字节数不一定相关,例如float数据范围比long更加广泛,但float4字节long8字节
  • 浮点数默认是double,要用float则在后边加上F(不加则报错
  • 整数默认int类型,如果要用long类型需要加上一个L(不加则转为int类型)

变量

程序运行期间,内容可以发生改变的量
创建格式:
1定义+赋值
数据类型 变量名称;
变量名称=数据值;
int a;
a=2;
Double b;
b=“Hi”;

  • = -->赋值,将右边的数据值,赋值交给左边的变量

2一步到位
数据类型 变量名称=数据值;
int a=3;
String=“Hello”;
float=3.14;
3创建
数据类型 变量名称1=数据值;
变量名1=变量名2;

  • 使用变量的注意事项
  1. 多个变量之间的名称不可以重复
  2. 注意数据类型的范围
  3. 变量需赋值后才能使用
  4. 注意所定义的变量的作用域到所属的大括号为止
  5. 不建议使用一个语句创建多个变量

数据类型转换

自动类型转换(隐式)
  1. 特点:自动转换
  2. 规则:数据范围从小到大
    如byte和short运算时自动转换为int类型进行运算
    eg
强制类型转换(显式)
  1. 特点:代码需要进行特殊处理,不能自动给完成
  2. 格式:范围小类型名 变量名=(范围小类型名)范围大的数据类型
    eg: int a=(int)100L;
  • 注意事项
  1. 数据溢出:当右边数值大于左边变量类型时发生溢出
    eg: int a=(int)600000000000L;
    哔哩哔哩

  2. 精度损失:大范围类型–>小范围类型
    eg: int a=(int)3.5;---->3
    int b=41L;
    当不超过小范围数据类型时可以强制转换
    eg: int b=(int)41L;

  3. byte/short/char这三种数据类型可以发生数学运算,例如加法"+"
    运算时候会被提升为int类型,然后再计算
    byte a=40;
    byte b=50;
    byte c=a+b;//错误精度损失,应当int c=a+b;

  4. boolean 类型不能发生数据类型转换

ASCII码表

’0’–>48
‘A’–>65
‘a’–>97

Unicode码表
0-127和ASCII一样

算数运算符

算数运算符

四则运算
  • 对于整数表达式,除法用的整数,整数除以整数,结果还是整数,只看商,不看余数
  • 只有对于整数的除法来说取模运算才有余数的意义
  • 若运算当中有不同类型的数据,结果会是数据类型范围大的
  • +常见用法:
  1. 对于数值,就是加法
  2. 对于char类型,计算之前,char会被提升为int,然后计算,结果得int
    eg:’A‘+’B‘–>131
  3. 对于String字符串来说,加号代表字符串连接操作
    任何数据类型和字符串进行连接的时候,结果都会变成字符串
自增自减运算

含义:让一个变量加/减1
使用格式:变量名之前或者变量名之后
eg: ++a,–a,a++,a–
使用方式:

  1. 单独使用:自己成为一个独立步骤
  2. 混合使用:和其他操作混合,例如与赋值,打印操作混合等
    使用区别:
  3. 单独使用时,前后+±-没有区别
  4. 混合使用时有【重大区别】
    A.前++:变量立刻+1,然后使用其结果–>【先加后用】
    B.后++:先用其原来的值,然后+1 -->【先用后加】

    eg:
    自增
  • 注意事项:只有变量才能使用自增自减运算符。常量不可发生改变,所以不能用
    eg:20++ , 20–
赋值运算符
  • 基本赋值运算符:=
  • 复合赋值运算符:+=,-=,*=,/=,%=
    eg: a+=3–>a=a+3
  • 注意事项:
  1. 只有变量才能使用赋值运算符,常量不能进行赋值
  2. 复合赋值运算符其中隐含了一个强制类型转换
    eg:
    eg
比较运算符

  • 注意事项
  1. 比较运算符结果是boolean类型值,成立为true,不成立为false
  2. 如果进行多次判断不能连着写,用逻辑运算符来进行连接
    eg: 1<x<4–>错误
逻辑运算符
  • 与(并且) && 全true才true;否则为false
  • 或(或者) || 至少一个true,就是true;全是false,才是false
  • 非(取反) ! 本来是true,变为false;本来是false,变成true
  • 与和或具有短路效果:if根据左边能判断最终结果,则右边不在执行,可以节省性能
    eg
  • 注意事项
    context
三元运算符

相当于一个if和else if的一个判断
语法:数据类型 变量名=条件表达式?数据1:数据2
在这里插入图片描述
eg:
在这里插入图片描述

运算符优先级表
  • 赋值<三目<逻辑<关系<算术<单目
    在这里插入图片描述
其余运算符

转自:https://blog.csdn.net/tiansheshouzuo/article/details/85851845
一、左移( << )
形式:a<<b
含义:将a的数值在二进制下向左移动b个位置
示例:5<<2

//原数值
0000 0101
//左移后
0001 0100
//结果
20

二、右移( >> )
形式:a>>b
含义:将a的数值在二进制下向右移动b个位置,左边的用原有标志位补充
示例:5>>2

//原数值
0000 0101
//左移后
0000 0001
//结果
1
三、无符号右移( >>> )
形式:a>>>b
含义:将a的数值在二进制下向右移动b个位置(高位空出的部分总是用0进行补位)

四、位与( & )
形式:a&b
含义:将a和b的数值在二进制下逐位比较,相同取1,不同取0,得到一个新的与原a/b二进制位数相同的数值

五、位或( | )
形式:a|b
含义:将a和b的数值在二进制下逐位比较,全都为0则新数字对应位数取0,否则取1。

六、位异或( ^ )
形式:a^b
含义:将a和b的数值在二进制下逐位比较,相同取0,不同取1,得到一个新的与原a/b二进制位数相同的数值

七、位非( ~ )
形式:~a
含义:将a在二进制下的每个数字取0/1的反值,遇0取1,遇1取0,得到新的数字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值