Java基本语法
1. Java 的注释分为三种:
1. 单行注释;
2. 多行注释;
3. 文档注释(文档注释可以根据 “javadoc” 命令生成 API 文档).
//单行注释,不会被编译器编译
System.out.println("helloWorld");
/*
多行注释,当一行注释编写不下时,
换行继续进行代码解释
*/
System.out.println(a > b ? a : b);
/**
* 比较两个数的大小,返回较大的一个
* @param a 第一个整数
* @param b 第二个整数
* return 返回两数中较大的一个
*/
public int max(int a,int b){
return a > b ? a : b;
}
2. 数据类型:
基本数据类型、数据类型转换、引用数据类型;
1. 基本数据类型:
① 布尔类型 boolean——1 字节(最小值 -128 ~ 最大值 127)
② 字符类型 char—— 2 字节
③ 整数类型 byte——1 字节;short——2 字节;int——4 字节;long——8 字节
④ 浮点类型 float——4 字节;double——8 字节
boolean b = true;
byte b = 127;
short s = 250;
int i = 520;
long lon = 123456789L;
float f = 3.1415926f;
double d = 3.1415926;
- 强制类型转换:
short s = 10;
s = s + 10;//编译错误
/*
java中任何的整数类型运算都会被转换为int结果,
因此上述代码 s + 10的结果是int类型数据,不能直接
赋值给short类型的s,所以需要强制类型转换
*/
s = (short)(s + 10);
- 引用数据类型:类的引用、接口的引用、数组的引用.
//类
class People{
}
//接口
interface flyable{
}
//数组
String[] args
3.流程控制
分支语句:
① if……else 语句:对于布尔逻辑结果判断,以及区间值的判断;
② switch 语句:对于一些固定数据值的判断;
循环语句:
① for 循环:
for(初始变量;条件判断;更改变量) {
//循环体
}
② while 循环:
while(条件判断){
//循环体
}
③ do……while 循环:
do{
//循环体
}while(条件判断)
④ forEach:
import java.util.Scanner;
public class DemoArrays02 {
public static void main(String[] args) {
String[] str = new String[4];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < str.length; i++) {
System.out.print("请输入第" + (i+1) + "个单词:");
str[i] = sc.next();
}
System.out.print("组成的句子是:");
for(String i:str) {
System.out.print(i + " ");
}
sc.close();
}
输出的结果如下图:
循环中断:
① break:结束当前循环
② continue:结束本次循环
③ return:结束当前方法
4. 标准输入 Scanner 和 Math 类与随机数使用
1. Scanner: 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值):
例如,以下代码使用户能够从 System.in 中读取一个数:
public static void main(String[] args) {
//创建一个Scanner对象
Scanner sc = new Scanner(System.in);
//获取输入的整数
int s1 = sc.nextInt();
System.out.println(s1);
sc.close();
}
扫描器还可以使用不同于空白的分隔符。下面是从一个字符串读取若干项的例子:
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close();
输出的结果为:
以下代码也可以同时解析所有的 4 个标记,并可以产生与上例相同的输出结果:
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input);
s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)");
MatchResult result = s.match();
for (int i=1; i<=result.groupCount(); i++)
System.out.println(result.group(i));
s.close();
2. Math 类与随机数使用: java 中提供了一个 Math 类,是一个工具类,Math 类包含用于执行基本数学运算的方法.
Math.random:返回带正号的 double 值,该值大于等于 0.0 且小于 1.0.
例如:
public static void main(String[] args) {
//随机获取一个0.0--1.0(不包含)之间的浮点数
double d = Math.random();
System.out.println(d);
//随机获取一个1-10的整数
int a =(int)((Math.random() *10) + 1);
System.out.println(a);
//随机获取一个[0-10]的整数
//0.0*11--0.99*11
int j =(int)(Math.random() *11);
System.out.println(j);
//随机获得[5-10]
for(int i = 1; i <= 10; i++) {
int x = (int)(Math.random() * 6 + 5);
System.out.print(x+"\t");
}
}
输出结果为: