JAVA入门

Java的输出函数

在Java中,最常用的输出函数是 System.out.println()System.out.print()

public class OutputExample {
    public static void main(String[] args) {
        // 输出一行文本并换行
        System.out.println("Hello, World!");

        // 输出一行文本但不换行
        System.out.print("Hello, ");
        System.out.print("World!");
    }
}

Java的输入函数

在Java中,可以使用 Scanner 类从控制台读取输入。首先需要导入 java.util.Scanner 类。

键盘输入代码的四个步骤:

1、导包:import java.util.Scanner;

2、创建Scanner类型的对象:Scanner scanner= new Scanner( System.in) ;

3、调用Scanner类的相关方法(next() / nextXxx()) ,来获取指定类型的变量

4、释放资源:调用Scanner对象的close()方法, scanner.close();

import java.util.Scanner;

public class InputExample {
    public static void main(String[] args) {
        // 创建 Scanner 对象,用于从控制台读取输入
        Scanner scanner = new Scanner(System.in);

        // 读取一个字符串
        System.out.print("请输入一个字符串: ");
        String inputString = scanner.nextLine();
        System.out.println("你输入的字符串是: " + inputString);

        // 读取一个整数
        System.out.print("请输入一个整数: ");
        int inputInt = scanner.nextInt();
        System.out.println("你输入的整数是: " + inputInt);

        // 读取一个浮点数
        System.out.print("请输入一个浮点数: ");
        double inputDouble = scanner.nextDouble();
        System.out.println("你输入的浮点数是: " + inputDouble);

        // 关闭 Scanner
        scanner.close();
    }
}

输入输出的练习题

  1. 编写一个程序,提示用户输入他们的名字并打印欢迎消息。
import java.util.Scanner;

public class WelcomeUser {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入你的名字: ");
        String name = scanner.nextLine();
        System.out.println("欢迎, " + name + "!");
        scanner.close();
    }
}
  1. 编写一个程序,提示用户输入两个整数并计算它们的和。
import java.util.Scanner;

public class SumOfTwoNumbers {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入第一个整数: ");
        int num1 = scanner.nextInt();
        System.out.print("请输入第二个整数: ");
        int num2 = scanner.nextInt();
        int sum = num1 + num2;
        System.out.println("两个整数的和是: " + sum);
        scanner.close();
    }
}

这些代码展示了如何在Java中进行基本的输入输出操作。通过不断练习这些示例,可以更好地掌握Java的输入输出功能。

一、第一个Java程序

  1. 新建一个 A.java 文件。
  2. 使用记事本打开,输入以下代码:
    public class A {
        public static void main(String[] args) {
            System.out.println("Hello World");
        }
    }
    
    注意:Java中的代码是严格区分大小写的;标点符号必须是英文状态下输入;路径和文件名不要使用中文。
  3. 在文件夹上目录上输入 cmd 回车。
  4. 输入 javac A.java 编译Java文件。
  5. 输入 java A 运行Java文件。

二、Java中的注释

public class CommentsExample {
    public static void main(String[] args) {
        // 这是一个单行注释

        /* 
         * 这是一个多行注释
         * 可以写多行说明文字
         */

        /**
         * 这是一个文档注释
         * 用于生成API文档
         */
        System.out.println("注释的示例");
    }
}

三、数据类型

Java基本数据类型
数据类型解释位数默认值举例说明
byte80byte b = 10;
short短整型160short s = 10;
int整数320int i = 10;
long长整型640long l = 10L;
float单精度320.0ffloat f = 10.0f;
double双精度640.0ddouble d = 10.0d;
char字符16char c = 'c';
boolean布尔8falseboolean b = true;

注意:String 是对象,不属于基本数据类型。

数据类型转换
  1. 自动转换(隐式转换):小范围 -> 大范围
    public class DataTypeConversion {
        public static void main(String[] args) {
            int a = 10;
            double b = a;  // 自动转换
            System.out.println(b);  // 10.0
        }
    }
    
  2. 强制转换(显式转换):大范围 -> 小范围
    public class DataTypeConversion {
        public static void main(String[] args) {
            double a = 11.11;
            int b = (int) a;  // 强制转换
            System.out.println(b);  // 11
        }
    }
    

四、变量

声明变量的四种方式
public class VariableDeclaration {
    public static void main(String[] args) {
        // 第一种: 声明变量并赋值
        int a = 10;
        System.out.println("a: " + a);

        // 第二种: 先声明变量,再赋值
        int b;
        b = 10;
        System.out.println("b: " + b);

        // 第三种: 同一种类型的变量,一行声明多个
        int c1, c2, c3;
        c1 = 10;
        c2 = 20;
        c3 = 30;
        System.out.println("c1: " + c1 + ", c2: " + c2 + ", c3: " + c3);

        // 第四种: 同一种类型的变量,一行声明多个并赋值
        int d1 = 1, d2 = 2, d3 = 3;
        System.out.println("d1: " + d1 + ", d2: " + d2 + ", d3: " + d3);
    }
}
变量交换
public class VariableSwap {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        int c = a;  // 将 a 的值赋值给 c
        a = b; // 将 b 的值赋值给 a
        b = c; // 将 c 的值赋值给 b

        System.out.println("a: " + a + ", b: " + b);  // a: 20, b: 10
    }
}

五、运算符

1. 算术运算符
public class ArithmeticOperators {
    public static void main(String[] args) {
        int a = 10, b = 20;

        // 加法
        System.out.println("a + b = " + (a + b));  // 30

        // 减法
        System.out.println("a - b = " + (a - b));  // -10

        // 乘法
        System.out.println("a * b = " + (a * b));  // 200

        // 除法
        System.out.println("a / b = " + (a / b));  // 0

        // 取模
        System.out.println("a % b = " + (a % b));  // 10

        // 递增
        System.out.println("++a = " + (++a));  // 11

        // 递减
        System.out.println("--b = " + (--b));  // 19
    }
}
2. 赋值运算符
public class AssignmentOperators {
    public static void main(String[] args) {
        int a = 10, b = 20;

        // 赋值
        a = b;
        System.out.println("a = b -> a: " + a);  // a: 20

        // 加法赋值
        a += b;
        System.out.println("a += b -> a: " + a);  // a: 40

        // 减法赋值
        a -= b;
        System.out.println("a -= b -> a: " + a);  // a: 20

        // 乘法赋值
        a *= b;
        System.out.println("a *= b -> a: " + a);  // a: 400

        // 除法赋值
        a /= b;
        System.out.println("a /= b -> a: " + a);  // a: 20

        // 取模赋值
        a %= b;
        System.out.println("a %= b -> a: " + a);  // a: 0
    }
}
3. 比较运算符
public class ComparisonOperators {
    public static void main(String[] args) {
        int a = 10, b = 20;

        // 等于
        System.out.println("a == b -> " + (a == b));  // false

        // 不等于
        System.out.println("a != b -> " + (a != b));  // true

        // 大于
        System.out.println("a >

 b -> " + (a > b));  // false

        // 小于
        System.out.println("a < b -> " + (a < b));  // true

        // 大于等于
        System.out.println("a >= b -> " + (a >= b));  // false

        // 小于等于
        System.out.println("a <= b -> " + (a <= b));  // true
    }
}
4. 逻辑运算符
public class LogicalOperators {
    public static void main(String[] args) {
        boolean a = true, b = false;

        // 逻辑与
        System.out.println("a && b -> " + (a && b));  // false

        // 逻辑或
        System.out.println("a || b -> " + (a || b));  // true

        // 逻辑非
        System.out.println("!a -> " + (!a));  // false
    }
}

练习题

基础题目
  1. 声明两个整数变量,分别赋值,并计算它们的和、差、积、商、余数。

    public class BasicExercise1 {
        public static void main(String[] args) {
            int a = 10, b = 20;
            System.out.println("a + b = " + (a + b));
            System.out.println("a - b = " + (a - b));
            System.out.println("a * b = " + (a * b));
            System.out.println("a / b = " + (a / b));
            System.out.println("a % b = " + (a % b));
        }
    }
    
  2. 声明一个整数变量,并使用自增、自减运算符对其进行操作。

    public class BasicExercise2 {
        public static void main(String[] args) {
            int a = 10;
            System.out.println("a++ = " + (a++));
            System.out.println("++a = " + (++a));
            System.out.println("a-- = " + (a--));
            System.out.println("--a = " + (--a));
        }
    }
    
  3. 声明两个布尔变量,并使用逻辑运算符对它们进行操作。

    public class BasicExercise3 {
        public static void main(String[] args) {
            boolean a = true, b = false;
            System.out.println("a && b -> " + (a && b));
            System.out.println("a || b -> " + (a || b));
            System.out.println("!a -> " + (!a));
        }
    }
    
  4. 声明三个整数变量,并交换它们的值。

    public class BasicExercise4 {
        public static void main(String[] args) {
            int a = 10, b = 20, c = 30;
            int temp = a;
            a = b;
            b = c;
            c = temp;
            System.out.println("a: " + a + ", b: " + b + ", c: " + c);
        }
    }
    
进阶题目
  1. 声明一个浮点数变量,并使用强制转换将其转换为整数。

    public class AdvancedExercise1 {
        public static void main(String[] args) {
            double a = 10.5;
            int b = (int) a;
            System.out.println("b: " + b);
        }
    }
    
  2. 声明两个字符变量,并计算它们的ASCII码值之和。

    public class AdvancedExercise2 {
        public static void main(String[] args) {
            char a = 'A', b = 'B';
            int sum = a + b;
            System.out.println("ASCII码值之和: " + sum);
        }
    }
    
  3. 声明一个字符串变量,并将其转换为大写、小写形式。

    public class AdvancedExercise3 {
        public static void main(String[] args) {
            String str = "Hello World";
            System.out.println("大写: " + str.toUpperCase());
            System.out.println("小写: " + str.toLowerCase());
        }
    }
    
  4. 声明一个整数变量,并判断它是否为偶数。

    public class AdvancedExercise4 {
        public static void main(String[] args) {
            int a = 10;
            if (a % 2 == 0) {
                System.out.println("a 是偶数");
            } else {
                System.out.println("a 不是偶数");
            }
        }
    }
    

Java的 if 语句

if 语句是Java中最基本的控制结构之一,用于根据条件执行代码块。下面是一些关于if语句的详细讲解。

基本 if 语句
if (condition) {
    // 当condition为true时执行此代码块
}

示例:

public class IfExample {
    public static void main(String[] args) {
        int number = 10;
        
        if (number > 0) {
            System.out.println("The number is positive.");
        }
    }
}
if-else 语句

如果需要在条件为false时执行另一个代码块,可以使用if-else语句。

if (condition) {
    // 当condition为true时执行此代码块
} else {
    // 当condition为false时执行此代码块
}

示例:

public class IfElseExample {
    public static void main(String[] args) {
        int number = -10;
        
        if (number > 0) {
            System.out.println("The number is positive.");
        } else {
            System.out.println("The number is negative.");
        }
    }
}
if-else if-else 语句

当有多个条件需要判断时,可以使用if-else if-else语句。

if (condition1) {
    // 当condition1为true时执行此代码块
} else if (condition2) {
    // 当condition2为true时执行此代码块
} else {
    // 当上述条件都为false时执行此代码块
}

示例:

public class IfElseIfExample {
    public static void main(String[] args) {
        int number = 0;
        
        if (number > 0) {
            System.out.println("The number is positive.");
        } else if (number < 0) {
            System.out.println("The number is negative.");
        } else {
            System.out.println("The number is zero.");
        }
    }
}
嵌套 if 语句

if 语句可以嵌套在其他if语句中,以处理更复杂的条件。

if (condition1) {
    // 当condition1为true时执行此代码块
    if (condition2) {
        // 当condition1和condition2都为true时执行此代码块
    }
}

示例:

public class NestedIfExample {
    public static void main(String[] args) {
        int number = 10;
        
        if (number > 0) {
            if (number % 2 == 0) {
                System.out.println("The number is positive and even.");
            } else {
                System.out.println("The number is positive and odd.");
            }
        }
    }
}
练习题
  1. 编写一个程序,判断一个给定的年份是否是闰年。

    import java.util.Scanner;
    
    public class LeapYear {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.print("请输入一个年份: ");
            int year = scanner.nextInt();
            
            if (year % 4 == 0) {
                if (year % 100 == 0) {
                    if (year % 400 == 0) {
                        System.out.println(year + " 是闰年.");
                    } else {
                        System.out.println(year + " 不是闰年.");
                    }
                } else {
                    System.out.println(year + " 是闰年.");
                }
            } else {
                System.out.println(year + " 不是闰年.");
            }
            scanner.close();
        }
    }
    
  2. 编写一个程序,提示用户输入一个字符,判断该字符是字母、数字还是其他字符。

    import java.util.Scanner;
    
    public class CharacterType {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.print("请输入一个字符: ");
            char ch = scanner.next().charAt(0);
            
            if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')) {
                System.out.println(ch + " 是字母.");
            } else if (ch >= '0' && ch <= '9') {
                System.out.println(ch + " 是数字.");
            } else {
                System.out.println(ch + " 是其他字符.");
            }
            scanner.close();
        }
    }
    

在编程中,循环结构用于重复执行一段代码块,直到特定条件为真。Java 中有三种主要的循环结构:for 循环、while 循环和 do-while 循环。以下是对这三种循环的详细讲解和示例。

七、循环结构

1. for 循环

for 循环是一种确定循环,即在开始时就知道循环将执行多少次。

语法
for (初始化语句; 条件判断; 更新语句) {
    // 循环体
}
示例

打印1到10的数字:

public class ForLoopExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            System.out.println(i);
        }
    }
}
解释
  • 初始化语句:在循环开始前执行一次。通常用于初始化循环变量。
  • 条件判断:每次循环开始前执行。如果条件为 true,则执行循环体;如果为 false,则退出循环。
  • 更新语句:每次循环结束后执行。通常用于更新循环变量。
2. while 循环

while 循环是一种条件循环,即在每次循环开始前检查条件,如果条件为真则执行循环体。

语法
while (条件判断) {
    // 循环体
}
示例

打印1到10的数字:

public class WhileLoopExample {
    public static void main(String[] args) {
        int i = 1;
        while (i <= 10) {
            System.out.println(i);
            i++;
        }
    }
}
解释
  • 条件判断:每次循环开始前执行。如果条件为 true,则执行循环体;如果为 false,则退出循环。
3. do-while 循环

do-while 循环是一种至少执行一次的循环,即先执行循环体,然后检查条件。如果条件为真则继续执行循环体。

语法
do {
    // 循环体
} while (条件判断);
示例

打印1到10的数字:

public class DoWhileLoopExample {
    public static void main(String[] args) {
        int i = 1;
        do {
            System.out.println(i);
            i++;
        } while (i <= 10);
    }
}
解释
  • 循环体:先执行一次。
  • 条件判断:每次循环结束后执行。如果条件为 true,则继续执行循环体;如果为 false,则退出循环。

循环中的控制语句

在循环中,有时需要控制循环的执行,例如提前退出循环或跳过某次循环。Java 提供了 breakcontinue 语句来实现这些功能。

break 语句

break 语句用于立即退出循环,不再执行循环体中的剩余代码和后续的循环。

示例

找到并打印第一个大于5的数字,然后退出循环:

public class BreakExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i > 5) {
                System.out.println("第一个大于5的数字是: " + i);
                break;
            }
        }
    }
}
continue 语句

continue 语句用于跳过当前循环的剩余代码,立即开始下一次循环。

示例

打印1到10的数字,但跳过5:

public class ContinueExample {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i == 5) {
                continue;
            }
            System.out.println(i);
        }
    }
}

练习题目

  1. 使用 for 循环打印1到100之间所有的偶数。
  2. 使用 while 循环计算1到100的和。
  3. 使用 do-while 循环打印10到1的数字。
  4. 编写一个程序,使用 for 循环查找并打印1到100之间的所有质数(素数)。
  5. 编写一个程序,使用 while 循环查找并打印1到100之间的所有质数(素数)。
  6. 编写一个程序,使用 for 循环和 continue 语句打印1到10的数字,但跳过3和6。
  7. 编写一个程序,使用 while 循环和 break 语句查找并打印1到10中第一个大于7的数字,然后退出循环。

参考答案

1. 使用 for 循环打印1到100之间所有的偶数
public class EvenNumbers {
    public static void main(String[] args) {
        for (int i = 1; i <= 100; i++) {
            if (i % 2 == 0) {
                System.out.println(i);
            }
        }
    }
}
2. 使用 while 循环计算1到100的和
public class SumOfNumbers {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        while (i <= 100) {
            sum += i;
            i++;
        }
        System.out.println("1到100的和是: " + sum);
    }
}
3. 使用 do-while 循环打印10到1的数字
public class Countdown {
    public static void main(String[] args) {
        int i = 10;
        do {
            System.out.println(i);
            i--;
        } while (i > 0);
    }
}
4. 使用 for 循环查找并打印1到100之间的所有质数
public class PrimeNumbers {
    public static void main(String[] args) {
        for (int i = 2; i <= 100; i++) {
            boolean isPrime = true;
            for (int j = 2; j <= i / 2; j++) {
                if (i % j == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                System.out.println(i);
            }
        }
    }
}
5. 使用 while 循环查找并打印1到100之间的所有质数
public class PrimeNumbersWhile {
    public static void main(String[] args) {
        int i = 2;
        while (i <= 100) {
            boolean isPrime = true;
            int j = 2;
            while (j <= i / 2) {
                if (i % j == 0) {
                    isPrime = false;
                    break;
                }
                j++;
            }
            if (isPrime) {
                System.out.println(i);
            }
            i++;
        }
    }
}
6. 使用 for 循环和 continue 语句打印1到10的数字,但跳过3和6
public class SkipNumbers {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i == 3 || i == 6) {
                continue;
            }
            System.out.println(i);
        }
    }
}
7. 使用 while 循环和 break 语句查找并打印1到10中第一个大于7的数字
public class FirstNumberGreaterThanSeven {
    public static void main(String[] args) {
        int i = 1;
        while (i <= 10) {
            if (i > 7) {
                System.out.println("第一个大于7的数字是: " + i);
                break;
            }
            i++;
        }
    }
}
  • 17
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值