import java.lang.Math;
import java.util.Scanner;
public class TestIf {
public static void main(String[] args) {
int a = (int)(100 * Math.random());
int b = (int)(100 * Math.random());
int c = (int)(100 * Math.random());
// Math.random()
// 该方法返回一个[0, 1)区间的double类型的随机数
System.out.printf("%d + %d + %d = ?\n", a, b, c);
System.out.println("请输入你的答案:");
Scanner scanner = new Scanner(System.in);
int result = scanner.nextInt();
if (result == a+b+c) {
System.out.println("答案正确!");
} else {
System.out.println("答案错误!正确答案是 " + (a+b+c) + " !");
}
}
}
// 这段代码是接着上面的代码的!
switch (((a+b+c)/10)) {
case 5:
case 10:
case 15:
case 20:
case 25:
System.out.println("恭喜中三等奖!");
break;
case 8:
case 18:
case 28:
System.out.println("恭喜中二等奖!");
break;
case 0:
System.out.println("恭喜中一等奖!");
break;
default:
System.out.println("没有中奖!");
break;
}
while (/*boolean表达式*/) {
// 循环体
}
do {
// 循环体(先do后判断,所以循环体至少会被执行一次!)
} while (/*boolean表达式*/)
for (初始表达式;布尔表达式;迭代因子) {
// 循环体
}
for(int i = 1, j = 1; i < 5; i++, j = i * 2) {
//...
}
苏轻笔记!
for循环的初始化、条件判断、步进部分是可以为空的,for(;;)和while()一样,都是无限循环。但是通常来说我想并不会这么使用它,除非特立独行。我觉得代码还是追求简单美观为好。
public static void main(String[] args) {
System.out.println("使用while循环计算1~100的和");
int a = 0;
int sum = 0;
while (a < 100) {
sum += ++a;
}
System.out.println(sum);
System.out.println("使用for循环计算1~100的和");
int sum2 = 0;
for (int i = 1; i <= 100; i++) {
sum2 = sum2 + i;
}
System.out.println(sum2);
}
// 这是一个排序算法,将20个随机数排序。
import java.lang.Math;
public class MaoPao {
public static void main(String[] args) {
int count = 20;
int[] array = new int[count]; // 数组
for (int i = 0; i < count; i++) array[i] = (int)(100 * Math.random());
for (int i = 0; i < count; i++) System.out.print(array[i] + " ");
System.out.println();
for (int i = 0; i < count; i++) { // 冒泡排序
for (int j = i + 1; j < count; j++) {
if (array[i] > array[j]) { // 交换位置
array[i] = array[i] + array[j];
array[j] = array[i] - array[j];
array[i] = array[i] - array[j];
}
}
}
for (int i = 0; i < count; i++) System.out.print(array[i] + " ");
System.out.println();
}
}
// 在循环之前设置标签,因为我们希望在其中嵌套另一个循环。
outer: for (int i = 101; i < 150; i++) {
for (int j = 2; j < i / 2; j++) {
if (i % j == 0){
continue outer;
// 由于break和continue关键字通常只中断当前循环,
// 但若随同标签使用,它们就会中断到存在标签的地方。
}
}
System.out.print(i + " ");
}
[修饰符1 修饰符2 ...] 返回值类型 方法名(形式参数列表) {
Java语句;
...
}
对象名.方法名(实际参数列表)
返回值类型:事先约定的返回值的数据类型(无返回值时指定为 void)
public static void main(String[] args) {
int result; // 两个随机数,求和
int a1 = (int)(100 * Math.random());
int a2 = (int)(100 * Math.random());
result = addition(a1 , a2/*实参*/); // 调用方法
System.out.println(result);
}
static int addition(int a, int b/*形参*/) {
System.out.printf("计算 %d + %d 的值\n", a, b);
return a + b;
}
苏轻划重点:必须形参不同
// 计算阶乘
public class Dg {
public static void main(String[] args) {
int n = 10;
System.out.printf("%d的阶乘的结果为%s", n, jieCheng(n));
}
static long jieCheng(int n) {
if (n == 1) {
System.out.println(1);
return 1;
} else {
System.out.print(n + " * ");
return n * jieCheng(n - 1);
}
}
}
苏轻笔记。
这些都是最基础的东西了,基本上大部分的编程语言都有这些结构,有基础的话就很好理解。只要还在编程这些东西就会一直在使用,所以要多敲代码孰能生巧举一反三。