public class Demo {
public static void main(String[] args) {
System.out.println("我想学习Java!");
}
}
- public 是访问修饰符,表示该类是公开的。如果不写 public,也能正确编译,但是这个类将无法从命令行执行,将在后面的实训中详细介绍;
- class 是关键字,表示这是一个类;
- Demo 是这个 Java 程序的名称(类名),Java 中对定义类名有一定的要求。要求如下:
- 类名必须以英文字母开头,后接字母,数字和下划线的组合;
- Java 程序中良好的命名习惯通常是以大写字母开头来命名类名,如果类名由多个单词组成,每个单词的第一个字母都应该大写。例如:Student、OutputTriangle 等。
| 数据类型 | 描述 | 占用字节 | 取值范围 | 默认值 |
|---|---|---|---|---|
| byte | Java中最小的数据类型, | 1个字节 | -128~~127(-27~~27-1) | 0 |
| int | 整型,用于存储整数 | 4个字节 | -2147483648~2147483647 | 0 |
| short | 短整型 | 2个字节 | -32768~32717 | 0 |
| long | 长整型 | 8个字节 | -263~263-1 | 0L |
| float | 浮点型,用于存储带小数点的数字 | 4个字节 | / | 0.0f |
| double | 双精度浮点型,用于存储带有小数点的数字 | 8个字节 | / | 0.0d |
| char | 字符型,用于存储单个字符 | 2个字节 | 0~65535 | 空 |
| boolean | 布尔类型,用于判断真或假 | 1个字节 | 仅有两个值,即true、false | false |
| 格式控制字符 | 结果 |
|---|---|
| %d | 整数 |
| %8d | 整数,左对齐,输出宽度为 8 |
| %-6d | 整数,右对齐,输出宽度为 8 |
| %f | 浮点数 |
| %.2f | 浮点数,四舍五入后保留两位小数 |
| %8.2f | 浮点数,四舍五入后保留两位小数,左对齐,输出宽度为8 |
使用 import 导入类
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
// 创建一个Scanner的实例对象,这个对象可以为用户提供输入,将这个实例对象命名为reader,后面我们可以直接用reader调用Scanner类的相关方法
Scanner reader = new Scanner(System.in);
// 从键盘处接收用户输入的浮点型数据
double a = reader.nextDouble();
System.out.print("输入的数据为:" + a);
}
}
Math类
| 方法 | 描述 |
|---|---|
| abs(x) | 返回参数x的绝对值,不改变x的数据类型 |
| sqrt(x) | 计算x的平方根,返回值为 double |
| cbrt(x) | 计算x的立方根,返回值为 double |
| floor(x) | 返回小于x的最大整数,返回类型为 double |
| ceil(x) | 返回大于等于x的的最小整数,返回类型为 double |
| round(x) | 将x四舍五入取整,返回值为 long |
| pow(x,y) | 计算x的y次方,返回类型为 double |
| max(x,y) | 计算x和y的最大值,返回类型为 double |
| min(x,y) | 计算x和y的最小值,返回类型为 double |
| sin(x) | 求x的正弦值 |
| cos(x) | 求x的余弦值 |
| tan(x) | 求x的正切值 |
| asin(x) | 求x的反正弦值 |
| acos(x) | 求x的反余弦值 |
| atan(x) | 求x的发正切值 |
| toDegrees(x) | 将x转化为角度 |
| toRadians(x) | 将x转换为弧度 |
| PI | π |
例如
int a = 27; double cbrt = Math.cbrt(a); double abs = Math.abs(a); double floor1 = Math.floor(a); double floor2 = Math.floor(b); long round1 = Math.round(a); long round2 = Math.round(b); double max = Math.max(a,b); double min = Math.min(a,b); System.out.print(Math.PI);更改字符类型
基本数据类型转换
在 Java 开发之中,经常会涉及到不同类型数据之间进行相互转换。那 Java 之间又是如何转换数据类型的呢?
Java 中数据类型的转换有两种:
- 自动转换;
- 强制转换。
首先我们得需要知道 Java 基本数据类型之间的范围大小。
Java 中整型和浮点型按照范围从小到大:
byte -> short -> int -> long -> float -> double
字符型转换为整型:
char -> int
例如
// 定义一个字符型变量a,值为 a; char a = 'a'; // 将 int 类型强制转化为 char 型。 char m = (char)(a - 32); // 定义一个字符型变量c,值为 中; char c = '中'; // 定义一个字符型变量d,值为 国; char d = '国'; // 将 int 类型强制转化为 char 型。 char n = (char)(c+d); System.out.println(m); System.out.print(n);第2章 Java 主方法中的分支结构 if…else if…else 语法
if(布尔表达式 1){
表达式1
}else if(布尔表达式 2){
表达式2
}else if(布尔表达式 3){
表达式3
}else {
表达式4
}
switch 语句
switch(expression){
case value :
语句1
break; //可选
case value :
语句2
break; //可选
// 你可以有任意数量的case语句
default : //可选
语句3
}
switch 语句有如下规则:
- switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE7 开始,switch 还支持字符串 String 类型,但是使用 String 类型时,case 标签必须为字符串常量或字面量;
- switch 语句可以拥有多个 case 语句,每个 case 后面跟一个要比较的值和冒号;
- case 语句中 value 的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量;
- 当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句;
- 当遇到 break 语句时,switch 语句终止,继续执行 switch 语句后面的语句。case 语句不一定要包含 break 语句,如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句;
- switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。当 case 语句的值和所有变量值都不相等时,执行 default 分支。default 分支不需要 break 语句。
注意:switch 语句执行时,一定会先进行匹配。如果匹配成功,则返回当前 case 的值,再根据是否有 break,判断是否继续进行匹配判断。
案例:
public static void main(String args[]) {
char grade = 'B';
switch (grade) {
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("中等");
break;
case 'D':
System.out.println("及格");
break;
case 'F':
System.out.println("你需要再努力努力");
break;
default:
System.out.println("未知等级");
}
System.out.println("你的等级是 " + grade);
}
第3章 Java 主方法中的循环结构
while
while( 循环条件表达式 ) {
循环体语句序列;
}
do…whlie
do {
循环体语句序列;
} while(循环条件表达式);
for
for(表达式1; 表达式2; 表达式3) {
循环体语句序列;
}
break
public class BreakTest {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
//判断i是否为4的倍数,如果是,则退出循环。
if (i % 4 == 0) {
break;
}
System.out.print(i+" ");
}
}
}
continue
public class ContinueTest {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
//判断i是否为4的倍数,如果是,则退出本次循环。
if (i % 4 == 0) {
continue;
}
System.out.print(i);
}
}
}



