基本语法
编写 Java 程序时,应注意以下几点:
- 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
- 类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。
- 方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。
- 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记 Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。
- 主方法入口:所有的 Java 程序由 public static void main(String[] args) 方法开始执行。
Java 中的命名规则和规范
命名规则:
- 名称只能由字母、数字、下划线、$符号和中文组成。
- 不能以数字开头。
- 名称中不能使用 JAVA 中的关键字。
命名规范:
- 包名命名全部小写,点分割符之间有且仅有一个自然语义的英语单词。
- 类名首字母大写,其后每个单词首字母大写,驼峰式命名方式,名词。
- 变量名首字母小写,其后每个单词首字母大写,驼峰式命名方式,名词。
- 方法名首字母小写,其后每个单词首字母大写,驼峰式命名方式,动词。
- 常量命名全部大写,单词间用下划线隔开,力求语义表达完整,不要嫌名字长。
- 代码中的命名均不要使用中文,命名尽量望文知义,不要中(拼音)英文混搭。
- 数组的命名使用“类型[] 数组名”的形式。
驼峰命名法:
骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则。正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成类、变量和方法的名字。程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。
Java注释
注释中的字符将被 Java 编译器忽略。
注释的分类
- 单行注释
- 多行注释
- 文档注释
文档注释又叫javadoc注释是Sun公司提供的一个技术,它从程序源代码中抽取类、方法、成员等注释形成一个和源代码配套的API帮助文档。也就是说,只要在编写程序时以一套特定的标签作注释,在程序编写完成后,通过Javadoc就可以同时形成程序的开发文档了。
javadoc命令是用来生API文档的,使用方式:使用命令行在目标文件所在目录输入javadoc +文件名.java。
格式:
写在类上的文档标注一般分为三段:
- 概要描述,通常用一句或者一段话简要描述该类的作用,以英文句号作为结束。
- 详细描述,通常用一段或者多段话来详细描述该类的作用,一般每段话都以英文句号作为结束。
- 文档标注,用于标注作者、创建时间、参阅类等信息。
/**
* 文档注释
* 这是一个类
* 这个类讲解注释功能
* 单行注释
* 多行注释
* 文档注释
*
* @author 辰震
* @version 1.0.0
* @date 2023-1-4
*/
public class DemoA {
public static void main(String[] args) {
//单行注释 输出语句
System.out.println("你好,中国!!!");
/*
多行注释
*/
}
}
Java 空行
空白行或者有注释的行,Java 编译器都会忽略掉。
Java输入
使用Scanner类的对象从用户那里获取输入。
为了使用的对象Scanner,我们需要导入java.util.Scanner包。
import java.util.Scanner;
然后,我们需要创建Scanner类对象。我们可以使用该对象从用户那里获取输入。
//创建Scanner对象
Scanner input = new Scanner(System.in);
//接受用户的输入
int number = input.nextInt();
示例:获取整数输入
import java.util.Scanner;
class Input {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("输入一个整数: ");
int number = input.nextInt();
System.out.println("您输入 " + number);
//关闭scanner对象
input.close();
}
}
输出:
输入一个整数: 23
您输入 23
在上面的示例中,我们创建了一个名为Scanner类的input对象。 然后,我们调用Scanner类的nextInt()方法以从用户获取整数输入。
同样,我们可以使用nextLong(),nextFloat(),nextDouble()和next()方法来分别从用户获取long,float,double和string输入。
注意:我们已使用close()方法关闭对象。建议一旦输入,就关闭scanner对象。
示例:获取浮点,双精度和字符串输入
import java.util.Scanner;
class Input {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//获取float输入
System.out.print("Enter float: ");
float myFloat = input.nextFloat();
System.out.println("Float entered = " + myFloat);
//获取double输入
System.out.print("Enter double: ");
double myDouble = input.nextDouble();
System.out.println("Double entered = " + myDouble);
//获取字符串输入
System.out.print("Enter text: ");
String myString = input.next();
System.out.println("Text entered = " + myString);
}
}
输出:
Enter float: 2.343
Float entered = 2.343
Enter double: -23.4
Double entered = -23.4
Enter text: Hey!
Text entered = Hey!
Java 输出
普通输出
普通输出主要有两种,一种是输出之后换行,另一种是输出之后不换行。
输出特殊字符
对于一些特殊字符需要使用转义字符操作
Java语言支持一些特殊的转义字符序列。
符号 | 字符含义 |
---|---|
\n | 换行 (0x0a) |
\r | 回车 (0x0d) |
\f | 换页符(0x0c) |
\b | 退格 (0x08) |
\0 | 空字符 (0x0) |
\s | 空格 (0x20) |
\t | 制表符 |
\" | 双引号 |
\' | 单引号 |
\\ | 反斜杠 |
\ddd | 八进制字符 (ddd) |
\uxxxx | 16进制Unicode字符 (xxxx) |
public class DemoB {
public static void main(String[] args) {
//普通输出
// 1.输出不换行
System.out.print("不换行!!!");
// 2.输出后换行
System.out.println("换行!!!");
System.out.println("123");
//转义字符输出
//输出特殊符号
//双引号
System.out.println("\"");
//单引号
System.out.println("\'");
//反斜杠
System.out.println("\\");
//换行
System.out.println("aa\nbb");
//tab符
System.out.println("aa bb\tcc");
//回退
System.out.println("aaa\b");
}
}
例子
/**
* @author 辰震
* @date 2023-1-4
*/
public class DemoD {
public static void main(String[] args) {
System.out.println("欢迎使用迷你DVD管理器");
System.out.println("---------------------------------------");
System.out.println("1.新增DVD");
System.out.println("2.查看DVD");
System.out.println("3.删除DVD");
System.out.println("4.借出DVD");
System.out.println("5.归还DVD");
System.out.println("6.退 出");
System.out.println("---------------------------------------");
System.out.println("请选择:2");
System.out.println("---> 查看DVD\n");
System.out.println("序号\t状态\t\t名称\t\t\t借出日期");
System.out.println("1\t\t已借出\t\t<<罗马假日>>\t\t2010-7-1");
System.out.println("2\t\t可借\t\t<<风声鹤唳>>\t\t");
System.out.println("3\t\t可借\t\t<<浪漫满屋>>\t\t");
System.out.println("---------------------------------------");
System.out.print("输出0返回:");
}
}