含义:名字
类名、对象名、方法名、变量名、常量名……
一个合法的标识符的组成:数字、字母、_和$
注意事项:
关键字:该词汇在Java中已经定义了含义
保留字:该词汇在Java中还没有定义含义,但是以后可能会用,先保留起来 goto
类名:
如果是一个单词,那么首字母大写
如果是组合词,那么每个单词首字母大写
变量名:
如果是一个单词,那么全部小写
如果是组合词,那么从第二个单词开始首字母大写
常量名:
如果是一个单词,那么全部大写 USER
如果是一个组合词,那么全部大写,单词之间用_隔开 USER_NAME
在程序运行期间,该变量中的数据可以发生改变
在程序运行期间,该容器中的数据不能发生改变(必须和final进行配合使用)
注意:
语法:
数据类型 变量名;
语法:
变量名=数据;
语法:
通过 变量名 获取
字节型 byte 1字节=8bit -128到127
在二进制中最小的八位:10000000 -128
在二进制中最大的八位:01111111 127
在二进制中正负区分:
短整型 short 2字节
整型 int 4字节
长整型 long 8字节
特殊:
如果给long类型的变量赋值,没有在数据后面加上l或L,那么jvm虚拟机会把该变量看成是int类型
在整数类型中默认类型是int类型
注意事项:
单精度 float 4字节
特殊:
如果给float类型的变量赋小数值,没有在数据后面加上f或F,那么jvm虚拟机会把该数据看成是double类型的数据
因为在浮点类型中默认的是double类型
双精度 double 8字节
注意事项:
字符型 char 2字节
特殊:
如果给char类型的变量赋整数值,而且没有放到单引号中,返回的结果是一个字符
因为jvm虚拟机会拿着该数据到ASCII码表中找十进制对应的字符
注意事项:
布尔型 boolean 1字节
注意事项:
数组、对象、接口
语法:
数据类型 变量名=数据;
声明变量时直接初始化值
语法:
数据类型 变量名1,变量名2,变量名3……
声明变量时可以同时声明多个相同类型的变量
语法:
数据类型 变量名1=数据,变量名2,变量名3=数据……
声明变量时可以同时声明多个相同类型的变量,并且初始化值
含义:转换的数据的数据类型
隐式转换
含义:小容器中的数据自动转给大容器
比较数据类型大小:
同一个数据类型大小:
整数类型:byte<<<short<<<int<<<long
浮点类型:float<<<double
字符类型:char
不同数据类型大小:
整数类型<<<浮点类型
特殊类型:
Char类型和byte、short是同一级别,区分不出大小
Char类型不能和byte相互转换
Char类型不能和short相互转换
但是:byte和short可以相互转换
基本数据类型从小到大排序:
(Byte<<<short<<<char)<<<int<<<long<<<float<<<double
语法:
数据类型 变量名1=数据;------------小容器
数据类型 变量名2=变量名1;--------大容器
显式转换
含义:大容器中的数据强制转给小容器
语法:
数据类型 变量名1=数据;-----------大容器
数据类型 变量名2=(数据类型)变量名1;--------小容器
底层原理:
如果大容器强制转换到小容器,数据没有超出范围
如果大容器强制转换到小容器,数据超出了取值范围,需要再一次进行转换(底层:移位运算)
注意:
a) 强制类型转换只会强制后面的一个,而不是所有
b) 一个整数与byte、short相互运算时,在运算之前数据的数据类型会自动提升为int类型
/**
* 需求:
*
实现一个数据四舍五入并且保留两位小数
*
123.4567
*
*
结果:
*
123.46
*/
含义:数据之间相互运算时使用的符号
符号 |
描述 |
+ |
相加 |
- |
相减 |
* |
相乘 |
/ |
相除 |
+ |
正数 |
- |
负数 |
+ |
拼接 |
注意:
|
|
% |
取模 |
++在前 |
自增1 先自增,后赋值 别人获取的数据是新值 |
++在后 |
自增1 先赋值,后自增 别人获取的数据是旧值 |
--在前 |
自减1 |
--在后 |
自减1 |
取模规律1
取模规律1-1
/**
* 需求:
*
int a=2;
*
int b=++a;
*
int c=--b;
*
int d=c++;
*
int e=d--;
*
int f=(a++)+(b--)-(++c)+(--d)
*
求f的值:
*/
符号 |
描述 |
= |
等号右边赋值给等号左边 |
+= |
等号右边运算完(相加)赋值给等号左边 |
-= |
等号右边运算完(相减)赋值给等号左边 |
*= |
等号右边运算完(相乘)赋值给等号左边 |
/= |
等号右边运算完(相除)赋值给等号左边 |
%= |
等号右边运算完(取模)赋值给等号左边 |
注意: 一个变量与另一个数据相加的结果重新赋值给该变量,称之为叠加 |
符号 |
描述 |
> |
大于 |
< |
小于 |
>= |
大于等于 |
<= |
小于等于 |
== |
双等于 |
注意: 返回的结果类型只有一种:布尔类型 |
符号 |
描述 |
& |
与 |
两个条件必须都成立,结果才成立 |
|
&& |
短路与 |
两个条件必须都成立,结果才成立 |
|
| |
或 |
两个条件有一个成立,结果就成立 |
|
|| |
短路或 |
两个条件有一个成立,结果就成立 |
|
^ |
异或 |
相同为假,相异为真 |
|
! |
非 |
条件结果的反义词 |
名称:条件运算符、三木运算符、三目运算符、三元运算符
语法:
条件表达式?数据1:数据2;
条件表达式返回的结果类型:true、false
数据1:当条件表达式为true时,返回数据1给调用者
数据2:当条件表达式为false时,返回数据2给调用者
注意:
返回的数据要么直接使用要么保存
/**
* 需求:
*
有一个人,判断该人的性别
*
如果性别是女,给她买名牌包包
*
如果性别不是女,啥也不是
*
*
性别:男性 女性 妖性
*
*
分析:
*
1.声明变量保存性别:char
*
2.通过性别变量进行判断是否是女性
*
3.如果条件成立了,那么返回数据
给她买名牌包包
*
4.如果条件不成立,那么返回数据
啥也不是
*
*
第二步:条件表达式
*
第三步:数据1
*
第四步:数据2
*
*
条件运算符语法:
* 条件表达式?数据1:数据2;
*/
char sex=‘女‘;
//使用条件运算符
System.out.println(sex==‘女‘?"给她买名牌包包":"啥也不是");
/**
* 需求:
*
1.已知两个变量,利用条件运算符获取两个变量中的最大值
*
2.已知三个变量,利用条件运算符获取三个变量中的最大值
*
3.已知四个变量,利用条件运算符获取四个变量中的最大值
*
附加题:
* 已知四个变量,利用条件运算符获取四个变量中的最大值(嵌套)
*/
//需求一
int a=4,b=5;
System.out.println("两个变量的最大值:"+(a>b?a:b));
//需求二
int a1=4,b1=5,c1=8;
//判断a1和b1的大小
int temp=a1>b1?a1:b1;
//判断temp和c1的大小
int max1=temp>c1?temp:c1;
System.out.println("三个变量的最大值:"+max1);
//需求三
int a2=4,b2=5,c2=8,d2=10;
//1.判断a2和b2的大小 临时变量1保存最大值
int temp1=a2>b2?a2:b2;
//2.判断c2和d2的大小 临时变量2保存最大值
int temp2=c2>d2?c2:d2;
//3.判断临时变量1和临时变量2的最大值
int max2=temp1>temp2?temp1:temp2;
System.out.println("四个变量的最大值:"+max2);
//需求四
int max3=a2>b2?(a2>c2?(a2>d2?a2:d2):(c2>d2?c2:d2)):(b2>c2?(b2>d2?b2:d2):(c2>d2?c2:d2));
System.out.println("四个变量的最大值:"+max3);
8.1 问:说一下=和==区别?
答:
=:赋值运算符
作用:用于给变量赋值
==:比较运算符
作用:比较两个数据是否相等
8.2 问:&和&&的区别?
答:
&:当第一个条件为false时,它还会执行后面的条件
&&:当第一个条件为false时,直接短路
8.3 问:|和||的区别?
答:
|:当第一个条件为true时,它还会执行后面的条件
||:当第一个条件为true时,直接短路
原文:https://www.cnblogs.com/LPWGWW/p/12159969.html