变量的定义:变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据可以发生改变,因此得名为"变量"。 变量的分类: 1.按所属的数据类型划分 基本数据类型 引用数据类型 2.按被声明的位置划分 局部变量:方法或语句块内部定义的变量 成员变量:在类的内部、方法的外部定义的变量 △:类的外面不能有变量的声明
数据类型的分类
各基本数据类型占用内存情况
类型 | 占用内存 | 值范围 | 默认值 |
---|---|---|---|
整型(int) | 4字节 | -2147483648~2147483647 -2的31次方到2的31次方-1 | 0 |
短整数型(short) | 2字节 | -32768~32767 -2的15次方到2的15次方-1 | 0 |
长整数型(long) | 8字节 | -9223372036854774808~9223372036854774807 -2的63次方到2的63次方-1 | 0 |
△字节型(byte) | 1字节 | -128~127 | 0 |
浮点型(float) | 4字节 | -3.40292347E+38-3.40292347E+38 | 0.0f |
双精度型(double) | 8字节 | -1.79769313486231570E+308-1.79769313486231570E+308 | 0.0d |
布尔型(boolean) | 1字节 | true 或 false | false |
字符型(char) | 2字节 | ‘ \u0000 - u\ffff ’ | \u0000 ’ |
数据类型的定义:由于变量记录的数据内容大小不同, 导致所需的存储单元大小不同,在 Java 语言中使用数据类型的概念加以描述。 字节的定义:字节是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成 信息的一个小单位。Java 中的字节是八位的字节,即它包含八位的二进制数。
命名规则 △:标识符命名习惯:见名知意。 1.由字母、数字、下划线(_)和美元符号($)组成。 2.不能以数字开头。 3.区分大小。 4.长度无限制。 5.不能是 Java 中的保留关键字。
关键字:
保留字:没有定义用途,但保留备用。
goto、const
boolean 类型不能转换成任何其它数据类型。 自动类型转换:容量小的类型自动转换成容量大的数据类型 byte,short,int -> float ->long ->double byte,short,int 不会互相转换,它们三者在计算时会转换成 int 类型 强制类型转换:容量大的类型转换成容量小的数据类型时,要加上强制转换符 long l = 100L; int i = (int)l; 有可能造成精度降低或数据溢出,使用时要小心。
public static void main( String[] args ) throws Exception { //1. float类型变量在定义时需注意:我们直接写出的浮点数字,默认类型是double // 解决:我们可以在浮点数字的后面加f,来表示写出的数字类型是float // float f1 = 10.1; 错误 float f1 = 10.1f; //正确 //2. long类型变量定义时需注意:我们直接写出的整型数字,默认类型是int,当值过大时会出现错误 // 解决:在后面加l,来表示写出的整形数字是long类型的 // long l1 = 2200000000;错误 long l1 = 2200000000l;//正确 //3. char类型:char类型赋值要用 '' 引起来且只能赋值一个字符 // 实际是根据ascii码表得出输出的内容 // 'A' - 'Z' 65 - 90 char c1 = 'A'; }
算数运算符
++: 如果是变量前缀:先对此变量加 1,再执行其他的操作。
如果是变量后缀:先执行当前语句的其他操作,再对此变量加 1
--: 如果是变量前缀:先对此变量减 1,再执行其他的操作。
如果是变量后缀:先执行当前语句的其他操作,再对此变量减 1
赋值运算符
关系运算符
逻辑运算符
△:逻辑运算符用于对 boolean 型结果的表达式进行运算,运算结果总是 boolean 型
字符串连接运算符
String s="He" + "llo"; 结果"Hello" "+"除了可用于字符串相连接,也能将字符串与其它的数据类型相连成一个新的字符串。 如:String s="x" + 123; 结果"x123"
三目运算符
X ? Y : Z X 为 boolean 类型表达式,先计算 x 的值,若为 true,整个三目运算的结果为表达式 y 的值, 否则整个运算结果为表达式 z 的值。 例:int score = 75; String type = score >=60 ? "及格" : "不及格";
代码分为 结构定义语句 和 功能执行语句。功能执行语句必须以英文分号结尾。 变量的作用域要看最小(里)的 {} :仅限于局部变量
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能 显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了