Java语言程序设计

Java是一种面向对象的编程语言,由美国oracle公司开发,自1995年上线以来,已经广泛应用于web开发、桌面应用开发等多个领域。Java语言的特点包括:

  1. 面向对象:Java提供了类、接口和继承等面向对象的特点,支持单继承和多接口继承,以及动态绑定。
  2. 分布式:Java支持Internet应用的开发,提供了网络应用编程接口(java.net),支持RMI(远程方法激活)机制,适合开发分布式应用。
  3. 健壮性:Java的强类型机制、异常处理、垃圾自动收集等特性保证了程序的健壮性。Java的安全检查机制也增强了其健壮性。
  4. 安全性:Java提供了安全机制以防恶意代码的攻击,包括类加载器的安全防范机制和安全管理机制。
  5. 体系结构中立:Java程序编译为体系结构中立的字节码格式,可以在任何实现Java平台的系统中运行,适合异构网络环境和软件分发。
  6. 可移植性:Java的体系结构中立性和严格规定的基本数据类型长度保证了其可移植性。Java编译器和运行环境也是用Java实现的,进一步增强了其可移植性。
  7. 解释型:Java代码首先被编译为字节码,然后由Java虚拟机解释执行。JVM适用于大多数软件和硬件平台,实现了Java代码的高可移植性。

Java的发展历程中,它最初是为了解决硬件领域的单片式计算机系统的智能化问题而开发的。随着技术的发展,Java已经成为了全球最大的开发者专业社群之一,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网等多个领域。

Java中if语句的用法

第一种:条件为真,执行java语句,如果条件为假,不执行并结束。

if (true){
          java语句
          java语句
          java语句
         } 
第二种:条件为真,执行第一个分支,反之,执行第二个分支。

if (false){
           java语句
           java语句
           java语句
       }else{
           java语句
           java语句
           java语句
       }
 第三种:一直判断,直到出现为真,执行分支,执行之后,整个语句全部结束。

if (false){
           java语句
           java语句
           java语句
       }else if(true){
           java语句
           java语句
       }else if(true){
           java语句
           java语句
       }else if(true){
           java语句
           java语句
       }else if(true){
           java语句
           java语句
       }else if(true){
           java语句
           java语句
          }

第四种: 如果全部不成立,则执行最后的else分支。

if (false){
           java语句
           java语句
           java语句
       }else if(true){
           java语句
           java语句
       }else if(true){
           java语句
           java语句
       }else if(true){
           java语句
           java语句
       }else if(true){
           java语句
           java语句
       }else if(true){
           java语句
           java语句
       }else{
           java语句
           java语句
       }
       
   }
}

例题1

幼儿园要根据孩子年龄分班,其中2,3岁入小班,4岁入中班,5岁入大班,6岁入学前班。编写程序,输入孩子的年龄,然后输出其对应哪一种班级,不在范围提示“年龄太大或太小,不宜入幼儿园。”

Java中switch多分支语句的用法

Java中switch语句是一种多路选择结构,用于根据表达式的值选择执行不同的代码块。

  • 基本语法:switch语句的一般形式为switch (expression) { case value1: break; case value2: break; ... case valueN: break; default: }。表达式的类型必须是byte、short、int或char,从Java 7开始,表达式中也支持String。每个case语句后面跟一个要匹配的常量值和冒号,以及可选的break语句来防止穿透到下一个case。如果没有break,程序会继续执行下一条case语句,直到遇到break或到达default部分。

  • 执行顺序:switch表达式的值决定了选择哪个case分支。当表达式的值等于某个case分支中的值时,则选择对应的case并执行其代码块。如果找到匹配的case,则执行该case块中的代码,并在遇到break时结束整个switch语句。如果没有找到匹配的case,则执行default分支中的代码。

  • 穿透性:如果没有在每个case块的末尾使用break语句,程序会继续执行下一个case块中的代码,直到遇到break或到达switch语句的末尾,这种现象称为穿透性。

  • 四种用法:Java中的switch可以分为两种形式的switch语句和两种形式的switch表达式。Switch表达式可以生成一个值,而switch语句则用于执行不同的代码块。Switch表达式支持有直通行为(Java 14引入)和无直通行为两种形式。

  • 示例:例如,可以根据月份确定季节,如果月份是4,则季节被赋值为春天。这是通过将月份作为表达式的值,并使用多个case语句来匹配不同的月份范围来实现的。

综上所述,Java的switch语句提供了一种根据表达式的值选择执行不同代码块的机制,通过使用不同的case语句和可选的break语句来控制流程的执行。

例题2

编写一个程序,要求用户输入传统节日的名称,然后根据输入的信息,在控制台输出2023年对应的日期,如果没有该节日的信息,输出“输入的节日有误或暂无该节日的日期信息”。

分支嵌套

Java中的分支嵌套:分支中包含分支。

例题3:根据所输入的年份,月份,给出该月的天数。如果月份不在1-12之间,输出“月份不正确”(闰年的条件是能被4整除,但不能被100整除;或者能被400整除)

Java中while语句,do...while语句

在 Java 中,while 循环是一种用于重复执行特定代码块的循环语句

它会在循环开始前检查一个条件表达式的真假,并只有当条件为真时才执行循环体内的代码。

当循环体内的代码执行完毕后,再次检查条件表达式的真假。

如果条件仍然为真,则继续执行循环体内的代码,直到条件为假时才跳出循环。

循环语句是一种编程结构,用于重复执行特定代码块,直到满足特定条件为止。

通过使用循环语句,可以避免编写大量重复的代码,并提供了更高效和灵活的方式来处理需要重复执行的任务。

循环语句通常由三个主要组成部分组成:

  • 循环控制变量或计数器:用于追踪循环的进行。它的初始值、更新方式和结束条件都会影响循环的执行。

  • 循环条件:用于判断是否继续执行循环体内的代码。只有当条件为真时,循环体才会被执行;否则,循环将终止。

  • 循环体:包含需要重复执行的代码块。该代码块将按照指定的次数或条件进行重复执行,直到达到终止条件为止。

常见的循环语句包括:

  • while循环:在每次循环之前检查条件表达式的真假,只有当条件为真时才执行循环体内的代码。
  • do-while循环:先执行一次循环体内的代码,然后再检查条件表达式的真假,只有当条件为真时才继续执行循环体内的代码。
  • for循环:初始化一个循环变量,在每次循环之前检查条件表达式的真假,执行完一次循环后更新循环变量的值。

通过使用循环语句,可以轻松地实现重复执行的逻辑,例如遍历数组、读取文件内容、处理集合等任务。循环语句在程序设计中是非常常见和有用的结构。

while语句的用法

当使用while循环时,需要按照以下步骤进行操作:

需要注意的是,使用while循环时应确保在循环体内更新条件表达式的值,以防止无限循环的发生。同时,循环体内部需要有明确的退出机制,以避免陷入死循环。

例题4:1.设有一张厚为0.2mm,面积足够大的纸,将它不断对折。设问对折多少次后其厚度可达珠穆朗玛峰的高度(8848.8m)

Java中for语句循环

  • 定义一个控制循环的条件变量。
  • 使用while关键字和条件表达式来创建循环结构。
  • 在循环体内编写需要重复执行的代码。
  • 在循环体内更新条件表达式的值,以确保循环能够最终结束。
  • Java中的while循环具有以下优势和适用场景:

  • 灵活性:while循环适用于需要根据变化的条件来重复执行代码块的情况。它允许在每次循环迭代之前动态计算条件表达式的值。这使得while循环更加灵活,能够应对不同的情况和需求。

  • 不确定循环次数:与for循环相比,while循环更适合处理不确定循环次数的情况。当需要在满足某个条件时重复执行代码,但循环次数未知或取决于用户输入或其他外部因素时,使用while循环更为合适。

  • 适用于处理事件驱动的情况:当需要根据事件的发生与否来重复执行代码时,while循环能够很好地满足这个需求。例如,在游戏开发中,可以使用while循环来检测玩家是否按下某个按键,并在按键按下时执行相应的操作。

  • 遍历集合或数组:在遍历集合或数组时,如果不需要索引或特定的循环次数,则使用while循环进行遍历是一种简洁的方式。通过在循环体内更新迭代条件,可以轻松地遍历整个集合或数组。

Java中的for循环语句是一种在编程中经常使用的控制结构,用于重复执行特定的代码块。它的主要目的是根据条件或计数器的变化来迭代遍历一个序列或执行特定次数的操作。for循环通常由三个关键部分组成:初始化、条件和更新。

初始化:在循环开始之前,对计数器或其他必要的变量进行初始化。 条件:定义一个条件,只有当该条件为真时,循环才会继续执行。 更新:在每次循环结束时,更新计数器或其他变量的值,以使其符合循环继续的条件。

for循环的基本语法如下:

for(初始化; 循环条件; 更新循环变量) {

// 循环体

}

for循环的执行过程如下:

for(int i=1; i <= 5; i++) {

System.out.println(i);

}

在这个示例中,我们使用一个循环变量i作为计数器,并将其初始化为1。循环条件i <= 5是一个判断i是否小于等于5的布尔表达式。在每次循环迭代中,输出i的值,并且将i递增1。当i的值达到6时,循环条件为假,循环终止。运行示例代码,将输出数字1到5。

例题5:将1-100之内的能被7整除的数输出

break和continue语句

在Java中,break语句用于提前退出循环。当break被执行时,循环立即终止,控制流将跳转到循环体之后的代码。

public class BreakExample {
    public static void main(String[] args) {
        for(int i = 1; i <= 10; i++) {
            if(i == 5) {
                break; // 当i等于5时,退出循环
            }
            System.out.println("i的值是:" + i); // 输出i的值
        }
        System.out.println("循环已退出。"); // 循环退出后的输出
    }
}

输出结果:

i的值是:1
i的值是:2
i的值是:3
i的值是:4
循环已退出。

break语句可以用于退出最内层的循环,并继续执行外层循环。

public class BreakInNestedLoop {
    public static void main(String[] args) {
        outer: // 外层循环标签
        for(int i = 1; i <= 3; i++) {
            inner: // 内层循环标签
            for(int j = 1; j <= 3; j++) {
                if(i == 2 && j == 2) {
                    break outer; // 退出外层循环
                }
                System.out.println("i=" + i + ", j=" + j);
            }
        }
        System.out.println("外层循环已退出。");
    }
}

输出结果:

i=1, j=1
i=1, j=2
i=1, j=3
i=2, j=1
外层循环已退出。

break语句也常用于switch语句中,用于终止一个case块。

public class BreakInSwitch {
    public static void main(String[] args) {
        int num = 2;
        switch(num) {
            case 1:
                System.out.println("数字是1");
                break;
            case 2:
                System.out.println("数字是2");
                // break; 如果这里没有break,将会继续执行case 3
            case 3:
                System.out.println("数字是3");
                break;
            default:
                System.out.println("数字不是1,2,也不是3");
        }
    }
}

输出结果:

数字是2.

一维数组

Java一维数组是一种数据结构,它可以存储一组相同类型的元素。

  • 初始化表达式用于初始化循环变量。
  • 循环条件是一个布尔表达式,用于在每次循环迭代之前检查是否满足继续循环的条件。
  • 更新循环变量用于在每次循环迭代之后更新循环变量的值。
  • 执行初始化表达式,用于初始化循环变量。
  • 检查循环条件,如果循环条件为假,则跳出循环,不执行循环体。
  • 执行循环体。
  • 执行更新循环变量的表达式。
  • 跳转到第2步,继续执行循环。
一维数组的内存格式
       数组通过下标来区分数组中不同的元素,并且下标是从 0 开始的。因此这里包含 5 个元素的 arr 数组最大下标为 4。

注意:一旦声明了数组的大小,就不能再修改。这里的数组长度也是必需的,不能少。

        尽管数组可以存储一组基本数据类型的元素,但是数组整体属于引用数据类型。当声明一个数组变量时,其实是创建了一个类型为“数据类型[]”(如 int[]、double[]、String[])的数组对象,它具方法和属性。

初始化一维数组
        Java 语言中数组必须先初始化,然后才可以使用。所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。一旦为数组的每个数组元素分配了内存空间,每个内存空间里存储的内容就是该数组元素的值,即使这个内存空间存储的内容为空,这个空也是一个值(null)。不管以哪种方式来初始化数组,只要为数组元素分配了内存空间,数组元素就具有了初始值。初始值的获得有两种形式,一种由系统自动分配,另一种由程序员指定。

Arrays:数组的工具类,就是专门用来操作数组的一个工具。可以调用它里面的 toString 方法来将数组输出,因为直接输出数组的话,会输出它的地址,而不是里面的数。

Arrays.toString(array) 将数组转化为字符串(只能针对一维数组)
Arrays.equals(array1,array2) 判断数组是否相等,返回一个Boolean类型的值
Arrays.sort(array) 将数组array进行升序排列。
Arrays.fill(array,key) 将原先数组array中的数全部变成key。
Arrays.copyOf(array,key) 将数组array进行复制,并且生成长度为key的新数组。假如新数组长度不够,会截取。
Arrays.binarySearch(array,key) 在数组array中查找key值,并返回所在的下标。若不在就返回小于0的数。(注意:这个方法底层是基于二分查找的,因此前提就是有序,否则会出现问题)
数组名**.**length:表示数组的长度。

判断字符串数组是否已经填满:没有填满,则数组最后一个是 null ,语句 array[array.length-1] != null

注意:①只有是字符串才能用,int 类型的数组不能用null ②此时的null有可能报空指针异常,注意一下。

数组常见的错误
数据类型不匹配。
边声明边赋值的方式,代码必须写在同一行,不能换行。
数组下标越界。
数组的常用操作及方法
求数组的最大值
求数组的最小值
在数组的指定位置插入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值