输出语句
public static void main(String[] args){
System.out.println(10); //输出打印10
System.out.println(暂存位置);
}
暂存位置 就是变量名
变量:在程序运行过程种,其值可以发生改变的量
从本质上讲:变量是内存中的一小块。
格式:数据类型 + 变量名 =变量值
例子: int a= 10;
变量的使用
变量的使用:取值和修改值
1.取值格式:变量名
范例 a
修改格式:变量名=变量值
范例 a=20;
练习:
/*
变量定义格式
数据类型+变量名=变量值;
基本数据类型
byte,short,int,long,float,double,char,boolean
变量的使用
取值格式 变量名
修改值格式:变量名=变量值
*/
public class VaribleDemo01{
public static void main(String[] args){
//定义变量
int a=10;
//使用变量
System.out.println(a);
//修改变量
a=20;
System.out.println(a);
}
}
变量使用的注意事项
/*
变量使用的注意事项;
名字不能重复
变量未赋值,不能使用
long 类型 的变量定义的时候,为了防止整数过大,后面加L
float 类型的变量定义的时候,为防止类型不兼容,后面要加F;
*/
public class VariableDemo01{
public static void main(String[] args){
byte a=10;
System.out.println(a);
short b=100;
System.out.println(b);
int c=10000;
System.out.println(c);
double d =13.14;
System.out.println(d);
char e ='a';
System.out.println(e);
boolean f =true;
System.out.println(f);
long j=1000000000L;
System.out.println(j);
float h=12.14F;
System.out.println(h);
}
}
标识符
标识符概述 :就是给类,方法,变量名起名字的符号
定义规则:
由数字,字母,下划线(—)和美元符($)组成
不能以数字开头
不能是关键字
区分大小写
常见命名约定
约定一:标识符是一个单词的时候,首字母小写(小驼峰命名法)
约定二:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写(小驼峰命名法)
约定三: 标识符是一个单词的时候 首字母大写(大驼峰命名法)
约定四: 标识符由多个单词组成的时候,每个单词的字母大写(大驼峰命名法)
小驼峰命名法针对变量和方法命名
大驼峰命名法针对类
类型转换
类型转换分类
自动类型转换
把一个表示数据范围小的数值或变量赋值给另一个表示数据范围大的变量
public class VariableDemo01{
public static void main(String[] args){
double a=10;
System.out.println(a);
byte b =10;
short c=b;
int i =c ;
}
}
强制类型转换
把一个表示数据范围大的数据的值或者变量赋值给另一个表示数据范围小的变量。
格式 :目标数据类型+变量名=(目标数据类型)+值或者变量
int k =(int)88.88;
运算符
算数运算符
关系运算符
位运算符
逻辑运算符
赋值运算符
其他运算符
算术运算符
运算符和表达式
运算符:对常量或者变量进行操作的符号
表达式:用运算符把常量或者变量连接起来符合Java语法的算式就可以成为表达式.
不同运算符连接的表达式体现的是不同类型的表达式.
int a =10;
int b =20;
int c=a+b ;
+ :运算符,并且是算数运算符
a+b:是表达式,由+算数运算符,所以这个表达式叫算术表达式。
public class VariableDemo01{
public static void main(String[] args){
int a=2;
int b =3;
System.out.println(a+b); 加 5
System.out.println(a-b); 减 -1
System.out.println(a*b); 乘 6
System.out.println(a/b); 除 0
System.out.println(a&b);取余 2
}
}
除法得到的是商, 取余得到是余数
整数相除只能得到整数,要想得到小鼠,必须有浮点数参加。
变量a值为10,变量b的值为20
符号 | 作用 | 说明 | 例子 |
---|---|---|---|
+ | 加 | 小学一年级 | a+b 等于30 |
- | 减 | 小学一年级 | a-b 等于-10 |
* | 乘 | 小学二年级X | a*b等于200 |
/ | 除 | 小写二年级除 | b/a 等于2 |
% | 取余 | 获取的是两个数据做除法的余数 | b%a 等于0 |
++ | 自增 | 变量的值加1 | b++或++b 等于21 |
— | 自减 | 变量的值减1 | b—或—b等于19 |
注意事项: /和%的区别:两个数据做出发. /取结果的商,%取结果的余数。 整数操作只能得到整数,要想得到小鼠,必须有浮点数参与运算。
自增自减运算符
- 自增(++)自减(—)运算符是一种特殊的算数运算符,在算数运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作符
解析:public class VariableDemo01{
public static void main(String[] args){
int a =3;
int b =++a;
int c=3;
int d= --c;
System.out.println(a); //4
System.out.println(b); //4
System.out.println(c); //2
System.out.println(d); //2
}
}
前缀自增自减法(++a,—a)先进行自增或者自减运算,再进行表达式运算int b =++a; 拆分运算过程 a=a+1=3+1=4; b=a=4; 最终结果 b=4;a=4;
int d= --c; 拆分运算过程 c=c-1=3-1=2; d=c=2 最终结果 d=2,c=2;
后缀自增自减(a++,a—);先进性表达式运算,在进行自增或者自减运算,public class VariableDemo01{
public static void main(String[] args){
int a =5;
int b=2;
int x=2*++a ;
int y=2*b++;
System.out.println(a); //6
System.out.println(b);//3
System.out.println(x);//12
System.out.println(y);//4
}
}
字符+操作
拿字符在计算机底层对应的数值来进行计算的。
public class VariableDemo01{
public static void main(String[] args){
int a =10;
char c='A'; A 65 A-Z连续的
c='a'; 97 a-z连续的
c='0'; 48 0-9是连续的
System.out.println(a+c);
}
}
算术表达式中包含多个基本数据类型的值的时候,整个算数表达式的类型会自动进行提升。
提升规则:
byte类型,short 类型和char 类型将被提升到int 类型
整个表达式的类型自动提升到表达式中最高等级操作数同样得到类型
等级顺序 byte,short,char->int->long->float->double.
public class VariableDemo01{
public static void main(String[] args){
int a =10;
char c='A';
c='a';
c='0';
System.out.println(a+c);
char d =a+c ;
}
}
char 类型会被自动提升为int 类型,
字符串+操作
public class VariableDemo01{
public static void main(String[] args){
System.out.println("li"+"cheng");
System.out.println("yingXing"+7777);
System.out.println(7777+"yingXing");
}
}
当+操作中出现字符串时,这个+是字符串连接符,而不是算数运算符
“你好”+666
在+操作做中,如果出现了字符串,就是连接运算符,否则就是算数运算.当连续进行“+”操作时,从左到右逐个执行
1+99+“你好” 100你好
赋值运算符
符号 | 操作 | 说明 | |
---|---|---|---|
= | 赋值 | a=10; 将右边的10 赋值给 a | |
+= | 加后赋值 | +=就是将右边的数据加法操作,结果赋值给左边 | a+=b,将a+b 的值给a |
-= | 减后赋值 | -=就是将右边的数据减法操作,结果赋值给左边 | a-=b,将a-b的值给a |
*= | 乘后赋值 | *=就是先乘再将值由右边赋值给左边 | a*=b 将axb的值给a |
/= | 除后赋值 | /=就是先除再将值由右边赋值给左边 | a/=b 将a除b的商给a |
%= | 取余后赋值 | %=就是先取余再将值由右边赋值给左边 | a%=b 将a除b的余数给a |
注意 扩展的赋值运算符隐含了强制类型转换
public class VariableDemo01{
public static void main(String[] args){
int a =10; //将10赋值给int 类型的变量a
a+=20; // += 就是将右边的数据加法操作,结果赋值给左边
a=a+20;
}
}
关系运算符
表格中变量A的值为10,变量B的值为20,
运算符 | 描述 | 举例 |
---|---|---|
== | 检查如果两个变量的值是否相等如果相等则条件为真反之为假 | A==B 假 |
!= | 检查如果两个变量的值是否相等,如果值不相等则条件为真,反之为假 | A!=B 真 |
> | 检查左边的变量的值是否大于右边变量的值,如果大于则条件为true,反之为false | A>B 假 |
< | 检查左边的变量的值是否小于右边变量的值,如果小于那么条件为true,反之为false | A<B 真 |
>= | 检查左边的变量的值是否大于或等于右边变量的值,如果大于或等于,那么条件为true,反之为false | A>=B 假 |
<= | 检查左边变量的值是否小于或等于右边变量的值,如果小于或等于那么条件为true,反之为false | A<=B 真 |
public class VariableDemo01{
public static void main(String[] args){
int a =10;
int b=20;
System.out.println(a==b); //flase
System.out.println(a!=b); //true
System.out.println(a>b);//flase
System.out.println(a<b);//true
System.out.println(a>=b);//flase
System.out.println(a<=b);//true
}
}
逻辑运算符
下表格为逻辑运算符的基本运算,假设布尔值变量A为真,变量B为假
操作符 | 描述 | 例子 |
---|---|---|
&& 短路逻辑运算符 | 称为逻辑与运算符,当且仅当两个操作数都为真,条件才为真。 短路与 | (A&&B)为假 |
|| 短路逻辑运算符 | 称为逻辑或操作符,如果任何两个操作符任何一个为真,条件为真 短路 非 | (A||B)为真 |
! | 称为逻辑非运算符,用来反转操作数的逻辑状态,如果条件为true,则逻辑非运算符将得到false | !(A&&B)为真 |
& | a&b a和b都是true,结果为true,否则为false | 逻辑与 |
| | a|b a和b都是false 结果为false 否则为true | 逻辑或 |
^ | a^b a和b结果不同为true,相同的false | 逻辑异或 |
public class VariableDemo01{
public static void main(String[] args){
boolean a =true;
boolean b=false;
System.out.println(a&&b); false
System.out.println(a||b); true
System.out.println(!(a&&b)); true
}
}
在数学中,一个数据x 大于3,小于6,我们可以这样进行表示3
拆解为:x>3和x<6
合并后:x>3&&x<6
&&其实就是一个逻辑运算符
我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符.
逻辑运算符也可以直接连接布尔类型的常量或者变量.
注意事项:
逻辑与&,无论左边真假,右边都要执行.
短路与&&,如果左边为真,右边执行,如果左边为假,右边不执行.
逻辑或|.无论左边真假,右边都要执行
短路或||,如果左边为假,右边执行; 如果左边为真,右边不执行。
最常用的逻辑运算符:&&,||,!
三元运算符
格式:关系表达式?表达式1:表达式2;
范例:a>b?a:b;
计算规则:
首先计算关系表达式的值
如果值为true,表达式1的值就是运算结果
如果值为false ,表达式2的值就是运算结果
public class VariableDemo01{
public static void main(String[] args){
int a =10;
int b =20;
int c =a>b?a:b;
System.out.println(c );
}
}
案例 : 三个和尚
需求:一座寺庙里住三个和尚,已知他们的身高 为150cm。210cm,165cm 请用程序实现获取这三个和尚的最高身高
分析:1.定义三个变量保存和尚的身高,单位为cm,这里仅仅体现数值即可.
int height1=150;
int height2=210;
int height3=165;
2.用三元运算符获取两个和尚得到较高身高值,并用临时身高变量保存起来
(height1>height2)?height1:height2;
3.用三元运算符获取临时身高值和第三个和尚身高较高值,并用最大身高变量保存。
(tempHeight>height3)?tempHeight:height3;
4.输出结果