第二章.变量和数据类型
掌握变量和常量的的使用
掌握Scanner(扫描器)键盘输入
掌握常见运算符
1.掌握变量和常量的的使用
1.1变量的概述
变量: 可以变化的量,变量存在的意义就是用于在内存中去临时性的存储数据。
- 变量值 —— 类似去住酒店的入住的客人
- 变量名 —— 类似于酒店的房间号
- 数据类型 —— 类似于酒店的房间类型(单人间,双人间)
public class Demo{
public static void main(String[] args) {
// 两种方式使用
// 先声明再赋值
// 数据类型 变量名
String name;
// 变量名 = 变量值;
name = "xx";
// 声明的同时并赋值
// 数据类型 变量名 = 变量值;
String stuName = "xx";
}
}
常量: 表示可以赋值一次的变量 被final修饰
public class Demo{
public static void main(String[] args) {
// 需求:计算圆的面积 π*r*r
// 存储π
// 常量:表示只可以赋值一次的变量 被final修饰
final double PI = 3.14;
// 计算面积
double area = PI * r * r;
System.out.println("圆的面积为:"+area)
}
}
1.2了解变量和常量的命名规范
Java中的变量名的组成: 数字,字母,$和_都可以作为变量名的组成内容,数字不能开头。
- 变量名应该见名之义
- 变量名应该在使用单词或拼音的时候注意要么全为单词要么全为拼音(不可以同时使用拼音和单词)。
- 变量名应该遵循驼峰命名法。
- helloworld myname
- 采用:helloWorld myName
变量名可以常采用下划线连接法。 - 采用hello_world my_name
- 变量名不允许使用关键字和保留字。
- 关键字:系统中有特殊含义的单词
- 保留字;以后可能在Java发展中会被赋予特殊含义的单词
Java中的常量:
常量的名字中出现的字母必须全部大写
如果在常量名出现多个单词,以下划线连接。例如:MY_NAME
1.3掌握Java中的数据类型
Java中为了合理的使用内存,划分成不同的类型。
整数型: (从小到大排列)
byte
short
int Java中默认使用的整数类型
long
浮点型: float:浮点型
double:浮点型 Java中默认的浮点数的类型
非数值类型: char:字符型 存储单个字符用,一单引号引起来.例如:a
1
你
否
男
Boolean:布尔型 只能存储两个值,一个为true
正确,一个是false
错误
引用数据类型:
string:字符串型 最常用的类型,一双引号引起来的。例如:“abc"
"你的姓名"
1.4掌握数据类型转换
在java中存在自动类型转换。
在同一类型下(数值类型),取值范围大的可以存储范围小(自动)
double money = 50; // (自动类转换)
System.out.println(money); //50.0
在同一类型下(数值类型),取值范围小的,如果行存储取值范围大的,需要强转。
但强转会损失数据的精度
int money = (int)50.6; // 强制类型转换
System.out.println(money); //50 不会被四舍五入
2.掌握Scanner(扫描器)键盘输入
// 导入Scanner
// 导入Scanner
import java.out.Scanner
2.创建Scanner对象
// 创建Scanner对象
Scanner input = new Scanner(System.in);
3.使用Scanner来输入整数,小数,字符串…
//将输入的内容储存到变量中
System.out.print("请输入您的姓名:");
//字符串
String name = input.next();
System.out.print("请输入您的年龄:");
//整数
int age = input.nextInt();
System.out.print("请输入您的余额");
//小数
double money = input.nexDouble();
3.掌握常见运算符
3.1算数运算符号
+
加法-
减法*
乘法/
除法%
取余数 例如:5%2=1++
自增1--
自减1
3.2赋值运算符号
- =赋值符号 将=右侧的内容赋值给=左侧的变量
int name = 奥巴马; //将奥巴马赋值给了name
int name2 = name; // 将name的值赋值给name2
System.out.println(name2);
- 复合赋值运算
+=
-=
*=
/=
%=
3.3关系运算符
>
<
<=
==
比较相等!
不相等
关系运算符的结果就是布尔类型。true
false
3.4逻辑运算符
&
与 并且&&
(短路与)|
或 或者||
(短路或)!
非 取反
// 单个与,在执行逻辑运算时,前方的某个关系运算符没有成立(false),那么它会继续完成后面的运算
// 短语与,在执行逻辑运算时,前方的某个关系运算符没有成立,那么它后面的代码将不再执行。
// 推荐用第二种,性能更佳,不用计算无用代码!
int num = 4;
//10 < num < 20
// System.out.println(num > 10 & ++num < 20);
System.out.println(num > 10 && ++num < 20);
System.out.println(num);
3.5三目(元)运算符
语法:条件(关系表达式) ? 表达式1 : 表达式2
3.6运算符优先级
()
优先级最高