***********************************************************************************************
回顾上次课所讲内容
1.
javac Hello.java
java Hello
2.注释
3.public class与class区别
4.变量和数据类型
***********************************************************************************************
今天所讲内容
1.数据类型以及类型之间的转换
2.运算符
算术运算符、连接运算符、赋值运算符、关系运算符、逻辑运算符、三目运算符
3.键盘接收用户输入
***********************************************************************************************
单词
import 导入
Scanner扫描仪
***********************************************************************************************
1.变量的分类:
1.1变量按作用范围分为:
局部变量:在方法中声明
成员变量:在类中声明
1.2变量按数据类型分为:
基本数据类型变量,在内存中存放真正的值,如:int double char......
引用数据类型变量,在内存中存放的是地址(引用),如:String.....

2.基本数据类型
又分为四大类,共计八种
整数类型:byte short int long
注意:1.默认为int类型
2.byte取值范围-128 ----- +127,占1个字节
short取值范围-32768 ---- 32767,占2个字节
int取值范围-2的31次方 ----- +2的31次方-1,占4个字节
long取值范围-2的63次方 ---- +2的63次方-1,占8个字节
3.在Java中,当对byte short char类型进行赋值时,如果没有超出当前类型的取值范围,则可以直接赋值
4.long a = 6; //构成自动类型转换
浮点类型:float double
注意:1.浮点类型中默认为double类型
2.float取值范围-3.403E38 ----- +3.403E38,占4个字节
double取值范围-1.798E308 ----- +1.798E308,占8个字节
3.
float x = 3.5; //注意:在Java中,值是小数是默认为double类型,取值范围大的不能直接给取值范围小的赋值,因此出现编译错误
//解决办法:第一种方法,值为float类型,因此在值的后面添加f/F
//float x = 3.5f;
//解决办法:第二种方法,将值double类型强制转为float类型,因此称为强制类型转换
float x = (float)3.5;
System.out.println("x = " + x);
字符类型:char
注意:1.一次只能存放一个字符,并且使用英文单引号引起来
2.一个汉字表示一个字符
3.一个字符在内存中占2个字节,取值范围0---65535
4.将整数值与字符类型的值进行相互转换
布尔类型boolean
注意:1.只有两个取值,分别是true、false
2.占1个字节
3.基本数据类型之间转换
---除了基本数据类型boolean类型以外,剩余的7种数据类型之间都可以相互转换
---当取值范围小的类型赋给取值范围大的类型,则构成自动类型转换也叫做隐式类型转换
byte short char int long float double
---当取值范围大的类型不能直接给取值范围小的赋值,则必须进行强制类型转换也叫做显式类型转换
注意:当进行强制类型转换或显式类型转换时,可能存在精度有丢失
---当对byte short char类型赋值时,如果没有超出该类型的取值范围,可以直接赋值
byte a = 1;
short b = 10010;
char c = 1234;
---当对byte short char类型进行混合运算符时,则先转为int类型,然后再进行计算
---当所有进行混合运算时,则先转为取值范围大的类型,然后再进行计算
4.运算符
4.1算术运算符
+ - * / %(求取余,取模) ++ --
4.1.1 +
注意:1.当两个操作数都是数值类型,则做加法运算
2.当两个操作数中有一个为非数值类型,则做连接,最终为字符串类型
4.1.2 -
注意:1.当做减法运算符时,必须两个操作数都是数值类型
4.1.3 *
4.1.4 /除法
4.1.5 %
4.1.6 ++
++表示自身加1
++又分为前置和后置
1.前置:将++编写在变量名称前面,先自身加1,然后再做其他运算
int a = 3;
int b = ++a; //a = 4 b = 4
2.后置:将++编写在变量名称后面,先做其他运算,然后再自身加1
int x = 5;
int y = x++;
4.1.7 --
4.2连接运算符
+作用:求和,连接
4.3赋值运算符
=将右侧的值赋给左侧的变量名称
扩展的赋值运算符
+= -= *= /= %=
注意:扩展的赋值运算符最终结果的类型没有发生改变
4.4关系运算符
> < >= <= == !=
总结:1.优先级别:算术运算符 > 关系运算符
2.关系运算符最终结果为boolean类型的值
4.5逻辑运算符
逻辑与& 逻辑或| 逻辑异或^ 逻辑非!
短路与&& 短路或||
4.5.1逻辑与&
表示并且
总结:当两个条件都为true时,则结果就为true,否则就为false
4.5.2逻辑或|
表示或者
总结:当两个条件有一个为true时,则结果为true,否则就为false
4.5.3逻辑异或
true ^ true ---->false
true ^ false --->true
false ^ true --->true
false ^ false -->false
4.5.4逻辑非!
表示对boolean类型的值进行取反
4.5.5短路与&&
类似于逻辑与,都表示并且
4.5.6短路或||
类似于逻辑或,都表示或者
总结:逻辑运算符最终结果为boolean的值
4.6三目运算符也叫做条件运算符
String s = 10 > 0 ? "大于" : "不大于";
System.out.println(s);
5.键盘接收用户输入
5.1键盘接收用户输入操作步骤
第一步:导入包,必须编写在java源文件中第一行
import java.util.Scanner;
第二步:创建Scanner对象
Scanner input = new Scanner(System.in);
第三步:给友好提示
System.out.print("请输入一个数:");
第四步:键盘输入
int a = input.nextInt(); //注意:当程序运行后等待用户接收键盘输入一个整数值,按回车键则表示输入完毕,并将回车之前所有输入的内容赋给左侧的变量
double b = input.nextDouble();
boolean c = input.nextBoolean();
String name = input.next(); //注意:在Java中,键盘接收字符串类型并没有nextString(),而使用next()
String s = input.next(); //注意:在Java中,键盘不能直接接收字符类型,先接收字符串类型,然后在字符串中获取第0个位置中的值,通过charAt(0)
char sex = s.charAt(0);
浙公网安备 33010602011771号