个人感觉Java的基础语法和c语言没有太多不同,这里就稍微列举一点不同吧
1 java基本结构
public class Hello {
public static void main(String[] args) {
// 向屏幕输出文本:
System.out.println("Hello, world!");
/* 多行注释开始
注释内容
注释结束 */
}
} // class定义结束
2 c语言中的bool类型,在java中表示为boolean
3 if()与while()中的东西必须是boolean
4 数组定义方法
int[] ns = new int[5];
// 表示定义一个长度为5的ns数组
int[] ns = { 68, 79, 91, 85, 62 };
//
5 数组长度
// 数组变量.length
ns.length
6 数组的for-each遍历方法
for(int u:a){
System.out.println(u)
}
// 相当于遍历这一整个a组和cpp的stl的遍历有点像
7 字符串比较
String a=new String("abc");
String b=new String("abc");
System.out.println(a==b);
// 这样会返回flase
// 因为类似a,b为指针
// 要比较则应为下面这句语句
System.out.println(a.equals(b));
8 输出
System.out.println()
// println是print line的缩写,表示输出并换行。因此,如果输出后不想换行,可以用print():
9 输入
//和输出相比,Java的输入就要复杂得多。
// 我们先看一个从控制台读取一个字符串和一个整数的例子:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建Scanner对象
System.out.print("Input your name: "); // 打印提示
String name = scanner.nextLine(); // 读取一行输入并获取字符串
System.out.print("Input your age: "); // 打印提示
int age = scanner.nextInt(); // 读取一行输入并获取整数
System.out.printf("Hi, %s, you are %d\n", name, age); // 格式化输出
}
}
首先,我们通过import语句导入java.util.Scanner,import是导入某个类的语句,必须放到Java源代码的开头,后面我们在Java的package中会详细讲解如何使用import。
然后,创建Scanner对象并传入System.in。System.out代表标准输出流,而System.in代表标准输入流。直接使用System.in读取用户输入虽然是可以的,但需要更复杂的代码,而通过Scanner就可以简化后续的代码。
有了Scanner对象后,要读取用户输入的字符串,使用scanner.nextLine(),要读取用户输入的整数,使用scanner.nextInt()。Scanner会自动转换数据类型,因此不必手动转换。
要测试输入,我们不能在线运行它,因为输入必须从命令行读取,因此,需要走编译、执行的流程:
$ javac Main.java
这个程序编译时如果有警告,可以暂时忽略它,在后面学习IO的时候再详细解释。编译成功后,执行:
$ java Main
Input your name: Bob
Input your age: 12
Hi, Bob, you are 12
根据提示分别输入一个字符串和整数后,我们得到了格式化的输出。
其他基础以后再补