1. idea 的调试
1. 点击鼠标左键设置断点
2.运行到断点处
点击 或点击鼠标右键,再点击 使代码运行到断点处,得到
2. 输出到控制台
System.out.println(value);//输出指定的内容,并换行 value 要打印的内容
System.out.print(value);//输出指定的的内容,不换行 value 要打印的内容
System.out.printf("format string",value);
//1. format string 以%开头,以字母结尾,中间部分为formating information。例如: %d, %12d, %10s, %1.2f, %15.8e 等等。
//2. value 是你想要输出的值
println
输出的内容自带
\n,
print
不带
\n
printf
的格式化输出方式和
C
语言的
printf
是基本一致的
.
3. 从键盘输入
import java.util.Scanner;//需要导入的util包
public class Test {
public static void main(String[] args) {
Scanner scan =new Scanner(System.in);//创建了一个名为 scan 的 Scanner 对象,并将其实例化为从标准输入流 System.in 中读取输入
type name=scan.menthod;
//type 输入内容的类型
//name 名字
//menthod 方法
scan.close();//关闭 Scanner 对象,释放资源
}
}
public static void main(String[] args) {
Scanner scan =new Scanner(System.in);//创建了一个名为 scan 的 Scanner 对象,并将其实例化为从标准输入流 System.in 中读取输入
int age=scan.nextInt();//输入一个整型数字
System.out.println("年龄:"+age);
String name =scan.nextLine();//输入一个字符串
System.out.println("名字:"+name);
float hight=scan.nextFloat();//输入一个浮点数
System.out.println("身高:"+hight);
scan.close();//关闭 Scanner 对象,释放资源
}
在打印结果中我们发现,在读取字符串时直接跳过,这是为什么?
因为 nextLine 在读数据时会把上一个读取数据的回车(\n)读进去导致字符串读取失败,我们可以在读取字符串前面加上一个 nextLine 来消除上一个读取数据时回车(\n)带来的影响。
public static void main(String[] args) {
Scanner scan =new Scanner(System.in);//创建了一个名为 scan 的 Scanner 对象,并将其实例化为从标准输入流 System.in 中读取输入
int age=scan.nextInt();//输入一个整型数字
System.out.println("年龄:"+age);
scan.nextLine();//消除读取字符串时回车带来的影响
String name =scan.nextLine();//输入一个字符串
System.out.println("名字:"+name);
float hight=scan.nextFloat();//输入一个浮点数
System.out.println("身高:"+hight);
scan.close();//关闭 Scanner 对象,释放资源
}
public static void main(String[] args) {
Scanner scan =new Scanner(System.in);
String str=scan.next();//next 在读取字符串时遇见空格或回车结束,空格后面的数据将不会被读取
System.out.println("输入一个字符串:"+str);
int i=scan.nextInt();
System.out.println("输入一个数字:"+i);
scan.close();
}
当循环输入多个数据的时候, 使用 ctrl + z 来结束输入 (Windows 上使用 ctrl + z, Linux / Mac/ idea 上使用 ctrl+ d).
public static void main(String[] args) {
Scanner scan= new Scanner(System.in);//创建Scanner 对象
int i=0;
while(scan.hasNextInt()){//判断下一个输入的数据是否为整数类型,是返回true,不是返回false
i=scan.nextInt();
System.out.println(i);
}
scan.close();//关闭Scanner对象,释放资源
}
4. math
生成一个随机数
方法1:使用 Math.random()
方法
double randomDouble = Math.random(); // 生成一个[0, 1)范围内的随机双精度浮点数
//Math.random() 方法返回一个大于等于 0.0 且小于 1.0 的伪随机双精度浮点数
方法2:使用 java.util.Random
类:
import java.util.Random;需要导入的util包
Random rand = new Random();//创建 Random 对象
int randomNumber = rand.nextInt(x); // 生成一个[0, x)范围内的随机整数
以上代码创建了一个 Random 对象 rand
,然后调用 rand.nextInt(int bound)
方法来生成指定范围内的随机整数。