一、二进制
-
计算机中的数据都是以二进制数字保存。
-
二进制:逢二进一,即只有0,1两个值。
e.g:10(10) == 1010(2)
-
计算机中信息的存储单位
- 位(Bit):表示一个二进制数码0或1,是计算机存储处理信息的最基本的单位
- 字节(Byte):一个字节由8个位组成。它表示作为一个完整处理单位的8个二进制数码
二、变量
变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。由于该存储单元中的数据可以发生改变,因此得名为“变量”。
1、变量分类
1.1、按所属的数据类型划分
- 基本数据类型变量
- 引用数据类型变量
1.2、按被声明的位置划分
- 局部变量:方法或语句块内部定义的变量
- 成员变量:方法外部、类的内部定义的变量
特别注意:类的外面不能有变量的声明
三、数据类型
由于变量记录的数据内容大小不同,导致所需的存储单元大小不同,在Java语言中使用数据类型的概念加以描述。
字节是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数子串,是构成信息的一个小单位。Java中的字节是八位的字节,即它包含八位的二进制数。
八种数据类型:
类型 | 占用内存 | 值范围(含边界) | 默认值 |
---|---|---|---|
整数型(int) | 4字节 | -2 147 483 648 ~ 2 147 483 647 | 0 |
短整数型(short) | 2字节 | -32 768 ~ 32 767 | 0 |
长整数型(long) | 8字节 | -9 223 372 036 854 775 808L~ 9 223 372 036 854 775 807L | 0 |
字节型(byte) | 1字节 | -128 ~ 127 | 0 |
浮点型(float) | 4字节 | -3.40292347E ~ 3.40292347E+38 | 0.0f |
双精度型(double) | 8字节 | 1.787693134862231570E+308 ~ 1.79769313486231570E+308 | 0.0d |
布尔型(boolean) | 1字节 | true 或 false | false |
字符型(char) | 2字节 | ’ \u0000 ~ u\ffff ’ | ’ \u0000 ’ |
标识符
Java对包、类、方法、参数和变量等要素命名时使用的字符序列成为标识符。规则如下 :
- 由字母、数字、下划线(_)和美元符号($)组成。
- 不能以数字开头。
- 区分大小。
- 长度无限制。
- 不能是Java中的保留关键字。
标识符命名习惯:见名知意。
e.g.:
合法标识符:HelloWorld 、 username2、user_name 、 _userName 、 $abc_123
非法标识符:2UserName、user#Name、hello World 、class
关键字大全
Java中有一些赋予特定的含义,有专门用途的字符串称谓语关键字(keyword)。全都是小写。
public static void main (String[] args) {
// 创建变量的语法:数据类型 变量名 = 初始化值;
int a = 20;
// 创建变量暂不赋值的语法 : 数据类型 变量名;
int b;
// 创建字符串变量;
String s = "abcde";
//重新给变量赋值的语法: 变量名 = 值;
a = 30;
System.out.println(a);
}
四、类型转换
-
boolean 类型不能转换成任何其他数据类型。
-
**自动类型转换:**容量小的类型自动转换成容量大的数据类型
byte , short , int > float > long > double
byte , short , int 不会互相转换,它们三者在计算时会转换成 int 类型
-
**强制类型转换:**容量大的类型转换成容量小的数据类型时,要加上强制转换符
long l = 100L;
int i = (int) l;
有可能造成精度丢失或者数据溢出,使用时要小心。
1、float类型变量定义
float类型变量在定义时需注意:我们直接写出的浮点数字。默认类型是double , 会提示需要强转
解决:我们可以在浮点数字的后面加入 f , 来表示写出的数字类型是float
float f1 = 10.1f
2、long类型变量定义
long类型变量定义时需注意:我们直接写出的整形数字,默认类型是 int ,当值过大时会提示出错
解决:我们在整形数字后面加入 l ,来表示写出的整形数字是 long 类型的
long l1 = 22000000000l;
3、char类型变量定义
单引号 只引一个字符
可以进行算数运算
char c1 = 'A';
4、ASCII码表
五、方法
概述
方法用于封装一段特定的逻辑功能。方法的主要要素有:权限修饰符 方法名、参数列表和返回值。
格式
权限修饰符 返回值声明 方法名称(参数列表) {
方法中封装的逻辑功能;
return 返回值;
}
权限修饰符详解
访问修饰符 | 同一个类 | 同包 | 不同包,子类 | 不同包,非子类 |
---|---|---|---|---|
private | √ | |||
默认 | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
返回值详解
方法调用结束后可以返回一个数据,称之为返回值。
方法在声明时必须指定返回值的类型。
通过 return 语句返回, return 语句的作用在于结束方法且将数据返回。
如果方法没有返回值(即方法不需要返回数据) , 需将返回值类型声明为 void 。
参数列表详解
方法的参数列表:在调用时传递给方法,需要被方法处理的数据。
在方法定义时,需要声明该方法所需要的参数变量。
在方法调用时,会将实际参数值传递给方法的参数变量。必须保证传递参数的类型和个数符合方法的声明。
方法示例
public void say( int a , int b) {
System.out.println("方法 say 正在执行");
}
public static void main(String[] args) {
int num = sum(20,30);
System.out.println(num);
}
public static int sum(int x,int y) {
int s = x+y;
return s;
}
六、运算符
1、算术运算符
2、赋值运算符
3、关系运算符
4、逻辑运算符
5、字符串连接运算符
String s = "He" + "llo";
System.out.println(s);
结果:“Hello”
“+” 除了可用于字符串相连接,也能将字符串与其他的数据类型相连城一个新的字符串。
e.g.:
String s = "x" + 123;
结果:“x123”
6、接收用户输入
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
//用于接收各种类型数据;
int i = scanner.nextInt();
System.out.println(i);
//next 和 nextLine 不可同时使用
//next 除了回车,也可以使用空格结束
String str1 = scanner.next();
//nextLine 只能使用回车结束
String str2 = scanner.nextLine();
7、变量的作用域
代码分为 结构定义语句 和 功能执行语句, 功能执行语句必须以英文分号结尾。
public static void main(String[] args) {
int a = 10;
}
public static void say() {
int a = 20;
}
七、编程规约
……
八、转义字符
所有的ASCII码都可以用"\"加数字(一般是八进制数字)来表示。
而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,
如\0,\t,\n等,就成为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了
转义字符 | 意义 | ASCII码值(十进制) |
---|---|---|
\n | 换行,将当前位置移到下一行开头 | 010 |
\r | 回车,将当前位置移到本行开头 | 013 |
\t | 水平制表(HT)(跳到下一个TAB位置) | 009 |
\v | 垂直制表(VT) | 011 |
\\ | 代表一个反斜线字符”“ | 092 |
\’ | 代表一个单引号(撇号)字符 | 039 |
\" | 代表一个双引号 | 034 |