基本数据类型
整形byte short int long(从小到大)
浮点型float(f/F) double
char boolean
整数常量分为以下几类:
-
十进制整数常量:如 10,100 等
-
八进制整数常量:以 0 开头,如 010
-
十六进制整数常量:以 0x 开头,如 0x3F
-
整型字面常量:在整数常量后加 L 或 l 表示,如 4L
合法的标识符遵循以下规则:
- 以字母、下划线(_)或美元符号($)开始。
- 后续字符可以是字母、数字、下划线或美元符号。
- 标识符区分大小写。
- Java语言中使用的字符编码方案是Unicode
常量用来存储不变的值,通常用来表示固定的数值或者标识符。常量的声明需要使用关键字final。
枚举类型表示具有有限个命名的值,关键字enum。
在Java中,? :是条件运算符(三元运算符)。其基本形式是:
condition ? expr1 : expr2
其运算规则是:
如果condition为true,则计算expr1的值,并返回该值; 如果condition为false,则计算expr2的值,并返回该值。
int a=2;
int b=5/2;
m= ((a < b) && (a != b))?a==b:a!=b
//m的值为false
字符串、输入与输出
字符串数组的创建:
String[] str = new String[3];
输出:
x = 10 / 3;//10.0/3.333333333
System.out.printf("%.2f\n",x);//3.00
System.out.println(x); //3.0
System.out.println(3/2);//1
System.out.println(3/2.0);//1.5
System.out.println((int)3/2.0);//1.5
System.out.println((double)3/2);//1.5
三种标准输入流是System.out.println()、System.out.print()和System.out.printf()。它们的区别在于输出内容的格式和方式:
System.out.println()会在输出内容后换行,
System.out.print()不会换行,
System.out.printf()可以使用格式化字符串进行输出。(也不会换行)
double q1 = 10.0/3;
System.out.printf("%f",q1);//3.333333//不换行
System.out.println("值为:"+q1);//值为:3.3333333333333335//换行
System.out.print("值为:"+q1);//值为:3.3333333333333335
String.format()是Java中的一个格式化字符串的方法。
String result = String.format("name:%s, age:%d", "John", 30);
通过控制台进行输入时,需要构造一个与“标准输入流”System.in关联的对象是Scanner
通过Java读取文件时,可以构造一个与“路径”Path对象关联的对象是Scanner
判断
如果需要进行许多小段字符串来构造一个字符串,只能使用StringBuilder类来实现。错
流程控制
第四次作业主观题
数组
boolean m[] = new boolean[6]
boolean[] m = new boolean[6]//都对
int[] m = new int[5];
//或
int[] m;
m = new int[5];
//但这样错
int[] m;
m = { 31, 28, 31, 30, 31};
//应该
int[] m;
m = new int[] { 31, 28, 31, 30, 31 };
对象和类
public 任何类都能访问//无public只能同一个包内访问
静态属性-->构造方法-->非静态属性
创建对象可以用new关键字,也能用方法,但不能混用
LocalDate t = LocalDate.now();
LocalDate t = new LocalDate();
//错误:
LocalDate t = new LocalDate.now();
更改器方法用于修改对象的状态或值。
构造函数是一种特殊类型的方法,它用于创建对象时进行初始化。在Java中,构造函数的名称必须与类名完全相同,并且没有返回类型(包括void)。
对于构造函数来说,它们不应该有返回类型,并且不能包含return语句。对于普通方法,如果其返回类型是void,那么它也不能包含返回语句。因为void表示该方法不返回任何值。如果方法有返回类型,则必须使用return语句返回相应的值。
//对:
public void raiseSalary(int byPercent) {
double raise = salary * byPercent / 1000;
salary += raise;
}
//错:
public void raiseSalary(int byPercent) {
double raise = salary * byPercent / 1000;
salary += raise;
return salary;
}
//不返回类型要写void
public raiseSalary(int byPercent) {
double raise = salary * byPercent / 1000;
salary += raise;
}
protected关键字只能用于成员变量和成员方法,不能用于类。
通常情况下,一个源文件中只能有一个public类,并且该类的名称必须与文件名相匹配。
class Employee { }
public class Employee { }
调用方法时,看范围是不是private,方法名一样时看参数类型分辨(重载)。
将一个变量传递给一个方法时,实际上传递的是该变量的值的副本,而不是变量本身。在方法内对参数的修改不会影响到原始变量的值。
public void tripleNum(double nump) {
nump = 3 * nump;
}
DeliverByValue obj = new DeliverByValue();
double num = 10;
obj.tripleNum(num);
//num值仍为10
用this关键字来指示的是( )
A. 当前对象的构造函数
B. 当前对象的成员变量
C. 当前对象的成员方法
public String getName() {
return name;
}
String m = Employee.getName();//错误
public class Employee {
public String name;
public String getName() {
return name;
}
}
public class Main {
public static void main(String[] args) {
// 创建Employee对象
Employee emp = new Employee();
emp.name = "Alice";
// 通过对象调用非静态方法
String name = emp.getName();
System.out.println(name);
}
}
静态属性-->构造方法-->非静态属性
this关键字仅用于非静态方法
静态类成员的作用是提供共享数据或方法。
静态方法只能调用静态类成员。
Java中使用包的主要原因是确保类名的唯一性。
对于同一个包中的类A和类B,可以不需任何说明而方便地互相访问和引用。
流程控制2111
字符串2210
基本数据类型2210
程序阅读题:11 12 8-9
设计题 6-7