学习Java一个多月了,对之前的内容做一下复习。
以下内容参考了《Java编程思想 第四版》 和《疯狂Java 第二版》 的内容。
String s;
这里所创建的只是引用,并不是对象。String s = new String("asdf");
基本类型 | 大小 | 默认值 | 包装器类型 |
---|---|---|---|
boolean | false | Boolean | |
char | 16-bit | ‘\u0000’ | Character |
byte | 8 bits | (byte)0 | Byte |
short | 16 bits | (short)0 | Short |
int | 32 bits | 0 | Integer |
long | 64 bits | 0L | Long |
float | 32 bits | 0.0F | Float |
double | 64 bits | 0.0D | Double |
{
int x = 10;
//x可见
{
int y =5;
//x , y 都可见
}
//x 可见 , y不可见
}
分号 ;
分号作为语句的分隔。每个Java语句必须使用分号作为结尾。
花括号 {}
花括号的作用就是定义一个代码块。
方括号 []
方括号的主要作用是用于访问数组元素,方括号通常紧跟数组变量名,而方括号里指定希望访问的数组元素的索引。
圆括号()
定义方法时必须使用圆括号来包含所有的形参声明,调用方法时也必须使用圆括号来传入实参值。
圆括号还可以作为强制类型转换的运算符。
圆括号可以将表达式某个部分括成一个整体,保证这个部分优先计算。
空格
Java语言使用空格分隔一条语句的不同部分。
圆点
通常用作类/对象和它的成员之间的分隔符,表明调用某个类或某个实例的指定成员。
标识符规则
Java关键字
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|
abstract | assert | boolean | break | byte | case |
catch | char | class | continue | default | do |
double | else | enum | extends | final | finally |
float | for | if | implements | import | int |
interface | instanceof | long | native | new | package |
private | protected | public | return | short | static |
strictfp | super | switch | synchronized | this | throw |
throws | transient | try | void | volatile | while |
算术运算符
double a = 6.3;
double b = 2.1;
double c = a + b;//c的值为 8.4
double a = 6.3;
double b = 2.1;
double c = a - b;// c的值为 4.2
double a = 6.3;
double b = 2.1;
double c = a * b;// c的值为 13.23
double a = 6.3;
double b = 1.2;
double c = a / b;// c的值为 5.25
int x = 8;
int y = 3;
int k = x / y;// k 的值为2
double a = 6.3;
double b = 2.0;
double c = a % b;// c的值为 0.3
int x = 8;
int y = 3;
int k = x % y;// k 的值为2
int i = 1;
System.out.println("i=" + i);//i=1
System.out.println("++i = " + ++i);//++i = 2
System.out.println("i++ =" + i++);//i++ =2
System.out.println(" i =" + i);// i =3
System.out.println("--i =" + --i);//--i =2
System.out.println("i-- =" + i--);//i-- =2
System.out.println("i = " + i);//i = 1
关系操作符
逻辑运算符
三元操作符
String string = 5 > i ? "5大于i" : "5不大于i";
System.out.println(string);
String str = "";
if (5 > i) {
str = "5大于i";
} else {
str = "5不大于i";
}
System.out.println(str);
8.1分支结构
if条件语句
int num=new Random().nextInt(10);
if(num>5){
System.out.println("num>5");
}
System.out.println("...");
int num=new Random().nextInt(10);
if(num>5){
System.out.println("num>5");
}else{
System.out.println("num<=5");
}
int num = new Random().nextInt(10);
if (num > 5) {
System.out.println("num>5");
} else if (num > 3) {
System.out.println("num>3&&num<=5");
} else if (num > 0) {
System.out.println("num>0&&num<=3");
} else {
System.out.println("num==0");
}
switch分支语句
int num2 = new Random().nextInt(3);
switch (num2) {
case 0:
System.out.println("num2=0");
break;
case 1:
System.out.println("num2=1");
break;
case 2:
System.out.println("num2=2");
break;
default:
System.out.println("...");
break;
}
8.2循环结构
while循环
int count=0;
while(count<5){
System.out.println(count);
count++;
}
System.out.println("循环结束");
int count=0;
//死循环
while(count<5){
System.out.println(count);
count--;
}
System.out.println("循环结束");
do while 循环
int count2 = 0;
do {
System.out.println(count2);
count2++;
} while (count2 < 5);
System.out.println("循环结束");
for循环
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
System.out.println("循环结束");
for (int a = 0, b = 0, c = 0; a < 4 && b < 4 && c < 7; a++) {
System.out.println(a++);
System.out.println(b++);
}
int count = 0;
for (; count < 5;) {
System.out.println(count);
count++;
}
System.out.println("循环结束");
foreach循环
int[] is = new int[5];
for (int i = 0; i < 5; i++) {
is[i] = new Random().nextInt(10);
}
// foreach循环
for (int i : is) {
System.out.println(i);
}
循环嵌套
// 外层循环
for (int i = 0; i < 5; i++) {
// 内层循环
for (int j = 0; j < 5; j++) {
System.out.println("i=" + i + ",,,j=" + j);
}
}
使用break结束循环
/**
* output: i=0 i=1 i=2 i=3 i=4 i=5
*
*/
for (int i = 0; i < 10; i++) {
System.out.println("i=" + i);
if (i == 5) {
break;
}
}
使用continue结束本次循环
/**
* output: i=0 i=1 i=2 i=4
*/
for (int i = 0; i < 5; i++) {
if (i == 3) {
continue;
}
System.out.println("i=" + i);
}
使用return结束方法
/**
* output:i=0 i=1 i=2
*/
for (int i = 0; i < 5; i++) {
if (i == 3) {
return;
}
System.out.println("i=" + i);
}
double b=2.0;
int a=(int)b;
定义数组
type [] arrayName;
type arrayName[];
数组的初始化
int[] is;
// 使用静态初始化,初始化数组只指定数组元素的初始值,不指定数组长度
is = new int[] { 1, 2, 4, 5, 7, 56 };
Object[] obj1;
// 使用静态初始化,初始化数组的数组元素类型是定义数组时数组元素的子类
obj1 = new String[] { "as", "ada" };
// 数组的定义和初始化同时完成
int[] a = new int[] { 1, 4, 6, 7 };
// 简化的静态初始化写法
int[] b = { 3, 4, 5, 6, 6 };
// 动态初始化数组长度
int[] nums = new int[10];
// 给每个数组元素分配初始值
for (int i = 0; i < nums.length; i++) {
nums[i] = i;
}
操作数组的工具类