当前位置: 首页 > article >正文

java day4

数组、逻辑和循环

  • 4.1 数组
    • 4.1.1 声明数组变量
    • 4.1.2 创建数组对象
    • 4.1.3 访问数组元素
    • 4.1.4 修改数组元素
    • 4.1.5 多维数组
  • 4.2 块语句
  • 4.3 if条件语句
  • 4.4 switch条件语句
  • 4.5 三目运算符
  • 4.6 for循环
  • 4.7 while和do循环
    • 4.7.1 while循环
    • 4.7.2 do...while循环
  • 4.8 跳出循环
    • 标号

4.1 数组

4.1.1 声明数组变量

String[] str;
String str[];

4.1.2 创建数组对象

int[] temps = new int[99];

使用new创建数组对象时,其所有元素都被自动地初始化(数字数组为0,布尔数组为false,字符数组为‘\0’,对象数组为null)。

  • Java关键字null指的是null对象。它并不像在C语言中的null常量那样,为零或字符‘\0’。
  • 对于String类型的数组可以这样初始化:
String titles[]={"da","Mr","farther"};

4.1.3 访问数组元素

float[] rating = new float[20];
rating[2]=3.22F;

4.1.4 修改数组元素

java对象数组是一组到对象的引用。将对象赋给这种数组数组中的元素时,将创建一个到该对象的引用。移动数组中的值,是在重新指定引用,而不是将值从一个元素复制到另一个中。对于基本数据类型(如int或float)的数组,这种操作实际上是将值从一个元素复制到另一个元素中;String数组也是如此,虽然它们是对象。

public class HalfDollars {
    public static void main(String[] args) {
        int[] denver = {1_700_000, 4_600_000, 2_100_000};
        int[] philadelphia = new int[denver.length];
        int[] total = new int[denver.length];
        int average;

        philadelphia[0] = 1_800_000;
        philadelphia[1] = 5_000_000;
        philadelphia[2] = 2_500_000;

        total[0] = denver[0] + philadelphia[0];
        total[1] = denver[1] + philadelphia[1];
        total[2] = denver[2] + philadelphia[2];
        average = (total[0] + total[1] + total[2]) / 3;

        System.out.println("2012 production: ");
        System.out.format("%,d%n", total[0]);
        System.out.println("2013 production: ");
        System.out.format("%,d%n", total[1]);
        System.out.println("2014 production: ");
        System.out.format("%,d%n", total[2]);
        System.out.println("Average production: ");
        System.out.format("%,d%n", average);
    }
}
输出:
2012 production: 
3,500,000
2013 production: 
9600000.00000000000
2014 production: 
4,600,000
Average production: 
5,900,000

4.1.5 多维数组

class Try{
    public static void main(String[] args){
        int[][][] cen = new int[100][52][7];
        System.out.println(cen.length);
        System.out.println(cen[0].length);
        System.out.println(cen[0][0].length);
    }
}

4.2 块语句

块也叫块语句(block statement),因为整个块可用任何可使用单条语句的地方。

  • 在Java中,变量的作用域是声明该变量的语句所在的块。可以在块中声明和使用局部变量,在该块执行完毕后,这些变量将不复存在。

4.3 if条件语句

if(a>b){
	操作1}
else{
	操作2}

4.4 switch条件语句

String A="B";
switch(A){
	case "A":
    	System.out.println("1");
    	break;
    case "B":
    	System.out.println("2");
    	break;
    case "C":
    	System.out.println("3");
    	break;
    default:
    	System.out.println("null");
}

switch语句中的测试只能是可转换为int的基本数据类型,如char或字符串。不能在switch中使用更大的数据类型,如long、float,也不能测试除相等性外的其他关系。

4.5 三目运算符

test ? trueResult : falseResult;

4.6 for循环

for(initialization; test; increment){
	statement;
}

4.7 while和do循环

4.7.1 while循环

while(i<13){
        x=x*i++; //the body of the loop
}

4.7.2 do…while循环

long i =1;
        do{
            i*=2;
            System.out.print(i+" ");
        }while(i<3_000_000_000_000L);

4.8 跳出循环

  • 关键字break:立即结束当前循环。如果在循环中嵌套了循环,将跳到外层循环中,否则执行循环后的语句。
  • 关键字continue直接进入循环的下一次迭代。

标号

  • break和continue都有可选的标号,指出从哪里开始继续执行程序。使用标号后,break可以跳到循环外的某个位置,continue可以跳到当前循环外的循环中。
  • 要使用标号,请在循环的起始部分前面添加标号和冒号。然后,使用break和continue在这些关键字后面加上标号的名称,如下所示:
out: for(int i=0;i<10;i++){
            for(int j=0;j<50;j++){
                if(i*j>400){
                    break out;
                }
            }
        }

在上述代码片段中,标号out标记的是外层循环。然后,在for和while循环中,当特定条件满足时,break将跳出这两个循环。如果没有标号out,break将跳出内层循环,并继续执行外层循环。

  • 在Java中外层循环用的很少,因为通常有其他替代方式。

http://www.kler.cn/a/10298.html

相关文章:

  • Zotero 6.0 安装包及安装教程
  • 随时随地编码:香橙派Zero3上安装Code Server远程开发指南
  • 基于混合配准策略的多模态医学图像配准方法研究
  • 浅谈C#之内存管理
  • 机器情绪及抑郁症算法
  • IEC60870-5-104 协议源码架构详细分析
  • js读取fetch的返回值
  • Linux ln 命令
  • 运行时内存数据区之程序计数器
  • 【Vite】对 CSS 处理
  • Excel技能之数据验证,总有一款适合你
  • BGP策略实验
  • RPC调用框架简单介绍
  • 心累,网站被盗刷 1.7T 流量
  • vue中的pinia使用和持久化 - 粘贴即用
  • Unity之获取游戏物体对象或组件的几个方法
  • JVM/GC/G1
  • SpringBoot与RabbitMQ 集成以及死信队列,TTL,延迟队列
  • 为什么要创建FAQ?这篇文章告诉你
  • vue3中的全局防抖节流指令
  • Vue学习——【第五弹】
  • 【权限维持】域控后门SSPHOOKDSRMSID万能钥匙
  • 能聊天、会学习,远不是GPT的终局
  • Android—IMS的InputReader
  • 单片机程序是如何运行起来
  • python+vue+ 疫情冷链追溯管理系统