众所周知,Java是C风格的语言,对于学过C语言的人学Java可以快速适应。
废话不多说,直接边看代码边学。
数据类型,输入和输出
import java.util.Scanner;//为了使用Scanner
public class a1 {//a1是类名,就是文件名,所有的可执行代码需要写在这个里面
//去掉class前面的public就可以让类名不与文件名相同
public static final double PI=3.1415926;//定义常变量,Java 约定常量使用全大写+下划线分隔命名
public static void main(String[] args) {//主函数
byte a0 = 0;//-128 到 127
short a1 = 0;//-32,768 到 32,767
int a2 = 0;//-2,147,483,648 到 2,147,483,647
long a3 = 0;//-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
float a4 = 0;//约 -3.40282347E+38 到 3.40282347E+38
double a5 = 0;//约 -1.79769313486231570E+308 到 1.79769313486231570E+308
char a6 = 'A';//0 到 65,535(Unicode 字符)
boolean a7 = false;//true 或 false,布尔类型
String a8 = "Hello java!";//字符串类型
int a$12 = 1;//变量命名可以使用“$”,其他和C语言中的命名法则相同
Scanner sc = new Scanner(System.in);//sc是变量名,可更改,使用时需在开头加上“import java.util.Scanner;”
int b1 = sc.nextInt();//键盘输入操作,输入一个数赋值给b1,sc是变量名,需和上一行声明的变量名相同
System.out.println(b1);//向终端输出操作,输出一个b1,注意,println是会自动换行的,去掉“ln”就不会自动换行
System.out.print(b1 + "\n");//这行和上一行功能相同。提醒,“System.out.println”这些可在IDEA中输入“sout”快速通过提示打出
boolean b2 = true, b3 = false;
System.out.println(b2 + " " + b3);//注意,打印结果是“true false”
}
}
四则运算和运算符
void a1() {//在Java中,将函数称为方法
byte a0 = 0, a1 = 1, a2 = 2;//四则运算和C语言一样的表示方式
a0 = (byte) (a1 + a2);//java中计算时通常会short,byte,char这些类型自动转成数据范围更大的类型
// 在这里a1+a2的结果是int型的,需要强转
int b1 = 0, b2 = 1, b3 = 2;
++b1;//也可以--b1
b1++;//b1--
b2 += 1;//也可以b2-=1,b2*=1,b2/=1,b2%=1,b2&=1;
b3 = b2 | b1;//位运算符,还有&,^,~,<<,>>
boolean c0 = b3 > b2;//也可以b2<b3,b3>=b2,b2<=b3,b2==b3,b2!=b3
// 注意,像这种逻辑关系的结果是布尔型
boolean c1 = b3 > b2 | b3 == b2;//逻辑或,两者中有真即为真,无论第一个是否为真都会去判断第二个是否为真
boolean c2 = b3 > b2 || b3 == b2;//这行和上一行是作用是相同的,不同的是只要第一个为真就结束判断
boolean c3 = b3 > b2 & b3 == b2;//逻辑与,两者都为真即为真,当然,“&”可写成“&&”,原理和逻辑或相似
int c4 = (a0 == 0 ? 1 : 2);//三元运算符,和C语言中的用法相似
}
条件语句和循环语句
void a2() {
int a0 = 1;
if (a0 > 0) {
System.out.println("YES");
}//同样,和C语言相似,也有if...else,if...else if...if,以及switch,用法也是相似的
switch (a0) {
case 1 -> System.out.println("1");//JDK14之后的新写法,等同于case 1:{System.out.println("1");break;}
default -> System.out.println("2");
}
for (int i = 0; i < 10; i++) {
a0++;//同样,和C语言相似,也有while,do...while,用法也是相似的
}//也可以通过continue,break对循环进行操作,用法和C语言相似
//注意,Java 保留了 goto 关键字,但禁止使用其实现跳转逻辑
//在多层循环中,可以通过标签来跳到任意外层循环
tag2 ://注意,标签通常不建议使用
for (int i = 0; i < 10; i++) {
tag1 :
for (int j = 0; j < 10; j++) {
for (int k = 0; k < 10; k++) {
if(a0>100)break tag2;//直接跳出最外层循环
if(a0>50)continue tag1;//跳到第二层循环的下一次迭代
a0++;
}
}
}
}