二. 数据类型、变量、运算符
2.1 标识符 和 关键字
-
标识符:代码中代表了各种数据的名字。通过标识符来访问操作各种数据。
-
标识符是有命名规则的:
-
首字符必须是 大小写字符、_、$。
-
从第二个字符开始,可以使用数字。
-
长度没有限制。
-
大小写敏感。区分大小写。
-
不能使用java的关键字。
-
class public static void
-
-
-
标识符的命名规范:
-
见名知意,必须通过名字体现出数据的内容来。
-
age name studentAge studentName
-
-
使用驼峰命名法:
-
多个单词构成的标识符,单词的首字符大写。
-
-
不要使用拼音。
-
不要使用单字符标识符。(个别情况例外)。
-
2.2 变量(variable)
-
变量是一种标识符。
-
变量的概念:变量的本质是一块有名字的内存区域。内存中的数据可以被修改。
-
定义变量的语法:数据类型 变量名 = 初始值;
-
int age = 21;
-
数据类型:代表了变量所能保存的数据的种类:整数、浮点数、字符串...
-
变量名:是一种标识符,要符合标识符的规则规范。
-
-
变量的特有的命名规范:首字符小写,多个单词构成,从第二个单词开始,每个单词的首字符大写。
2.3 java支持的数据类型
-
java 程序可以处理的哪些种类的数据。
-
java 支持的数据的类型分为2大类:
-
基本数据类型|简单数据类型|java的内置类型(模拟表示现实世界中简单的数据)
-
数值型
-
整数类型
-
byte 字节型 使用1 byte 表示整数。取值范围[-128~127] 256
-
short 短整型 使用2 bytes 表示整数。取值范围[-2^15~ 2^15-1] 65536
-
int 整型 使用4 bytes 表示整数。取值范围[-2^31~ 2^31-1]
-
long 长整型 使用8 bytes 表示整数。取值范围[-2^63~ 2^63-1]
-
-
浮点数类型
-
float 单精度型 使用4 bytes 表示浮点数。小数点后最多保留7位左右。
-
double 双精度 使用8 bytes 表示浮点数。小数点后最多保留16位左右。
-
-
字符类型
-
char 占用 2bytes。在java中使用单引号 表示一个字符 'A'; 本质上字符是一个整数。【0-65535】
-
-
-
布尔类型
-
boolean 用来表示现实世界中的真假对错的。true false。 true:真的,对的。false:假的,错的。
-
官方没有指出 boolean类型变量占用的内存空间。本质上只占用了一个bit,1对应true,0对应false。
-
-
-
引用数据类型|复杂数据类型(模拟表示现实世界中复杂的数据)
-
数组 []
-
类 class
-
接口 interface
-
-
-
数据类型对于变量的意义:
-
约束了变量的取值范围。
-
约束了变量的内存空间。
-
约束了变量底层的存储格式。
-
最终数据展示的形式。
-
2.4 字符类型介绍
-
字符数据 使用 单引号 '字符'。
-
字符在硬件上存储的时候,保存的是字符对应的一个整数的二进制形式。
-
字符的使用,任何的字符都依赖于某一个字符集,每个国家都有自己的字符集。
-
常见的字符集
-
ASCII:美国标准信息交换码。单字节字符集,一共收录了128个字符。
-
0:48 A:65 a:97
-
世界上所有的其他的字符集都兼容了ASCII。
-
-
gb2312:
-
gbk 是 gb2312 的超集。
-
big5:繁体中文字符集。
-
iso8859-1:西欧那边使用的字符集。
-
unicode:utf-8(万国码)
-
-
class TestChar{
public static void main(String[] args){
//字符 0
System.out.println('0'+0);//48
//
char ch = 'A';
ch += 32;
//ch = ch + 32;
System.out.println(ch);//a
//int 你好 = 10;
//System.out.println(你好);//a
//定义字符变量的多种形式。
char ch1 = 'A';
char ch2 = 97;
char ch3 = '\u005a';//Z
System.out.println(ch2);//a
System.out.println(ch3);//Z
}
} -
转义字符:
-
class TestChar1{
public static void main(String[] args){
//转义字符
//都是字符,但是主要用于控制其他的内容显示的格式的字符。
//需要使用特殊的表示形式来表达这些特殊的字符。
/*
\t: tab 键 水平制表符。
作用:输出8个半角符号位的倍数。占用的空间大小[1-8]个半角位。补齐8的倍数半角位。
【\r: 回车符: 让光标回到当前行的行首。】
\n: 换行符:让光标回去到下一行。
回车键对应着两个转义字符:\r\n
【\b: 对应着backspace 键。】
\': 代表了单引号 字符。
\" : 代表了双引号 字符。
\\ : 代表了反斜杠 字符。
*/
System.out.println("123456789");
System.out.println("\t123456789");
System.out.println("123\t456789");
System.out.println("1234567\t89");
System.out.println("12345678\t9");
System.out.println("123\"456\r789");
System.out.println("123456\n789");
System.out.println('\'');//
System.out.println('\\');//
}
}
-
2.5 字符串类型介绍
-
class TestString{
public static void main(String[] args){
//字符串类型简介
int age = 10;
//定义字符串类型的变量
String str = "abc";
str = "\u005a\u0041";
System.out.println(str);
//字符串可以和java支持的任意类型做 + 连接,会得到一个新的字符串。
System.out.println(str + 0);
System.out.println(str + true);
System.out.println(str + 1.1111111111111);
}
}
2.6 变量扩展
-
变量的声明和定义
-
定义变量 等价于 声明变量 + 赋值。
-
class Test1{
public static void main(String[] args){
//变量的定义。
int num = 10;
int num1 = 10,num2 = 20,num3 = 30;
//变量的声明
int num4;
//赋初始值。变量的初始化
num4 = 100;
System.out.println(num1+num3);//40
System.out.println(num4);//100
//一次性声明多个变量
int num5,num6,num7;
;;;;;;;;;;;;;
num5 = 100;
num6 = 200;
num7 = 600;
int num8,num9=100;
num8=100;
System.out.println(num8);//100
System.out.println(num9);//100
}
}
-
-
变量的作用域
-
变量可以被访问的范围。
-
变量的作用域从定义的位置开始,到所在的大括号的结尾处。
-
2.7 运算符
-
java中可以使用哪些符号(运算符)对java支持的数据类型(8+3)进行运算。
-
概念
-
运算符:java 中 对数据进行运算的符号。
-
+-*/ ....
-
-
操作数:运算符操作的数据。
-
1+2 1 he 2 就是操作数。
-
-
表达式:使用运算符 操作 操作数的整体式子。
-
1+3 表达式。
-
-
一元运算符|单目运算符:只需要一个操作数的。
-
+1 -1
-
-
二元运算符|双目运算符:需要两个操作数的运算符
-
1+1 2*5
-
-
三元运算符|三目运算符:需要三个操作数的运算符
-
表达式的返回值:
-
表达式计算的结果的值称为 表达式的返回值。
-
表达式在程序中使用的时候,都是表达式的返回值来参与的。
-
-
-
运算符的分类:
-
算数运算符
-
class ArthmaticTest{
//算数运算符学习:对数值型的数据进行算数运算的符号。
// + - * / % ++ --
public static void main(String[] args){
//+ 一元运算符 ,代表了正数。
System.out.println(+1);//1
// + 也是一个二元运算符,对两个操作数进行 加 运算。
System.out.println(2+1);//3
//- 一元运算符 ,代表了负数数。
System.out.println(-1);//-1
// - 也是一个二元运算符,两个操作数进行 减法 运算。
System.out.println(2-1);//1
// * 是一个二元运算符,两个操作数进行 乘法 运算。
System.out.println(2*1);//2
System.out.println(-2*1);//-2
System.out.println(2*-1);//-2
System.out.println(-2*-1);//2
// / 是一个二元运算符,两个操作数进行 除法 运算。整数除法结果是整数。
System.out.println(5/2);//2
System.out.println(5/-2);//-2
System.out.println(-5/2);//-2
System.out.println(-5/-2);//2
// % 取余、模运算。是一个二元运算符 a%b: a除以b 得到的余数。
//结果的符号位和 左边的操作数一致。
System.out.println(5%2);//1
System.out.println(5%-2);//1
System.out.println(-5%2);//-1
System.out.println(-5%-2);//-1
// / % 应用:获取一个任意的数字的每个位置上的值。
int num = 682;
int unit
-