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

Java基础07

目录

1.两种for循环的表示情况:

 2.三种数组表示方式(一维和二维):

 3.switch

⭐两个重要的问题⭐

⭐①什么是switch击穿?

⭐②switch可以选择哪些类型?

4.continue

 5.【大数值】BigInteger 和 BigDecimal

6.length属性

 7.Java中有自带的排序方法:sort() --从小到大排序


1.两种for循环的表示情况:

for(int i=0;i<10;i++){
    System.out.println("---");
    System.out.println("+++");
}

上面的表达形式,等同于如下图片(作用效果相同,只是表达方式不同):

 2.三种数组表示方式(一维和二维):

一维数组int类型:

int[] arr={1,2,3,4,5};
for(int x:arr){
    System.out.println(x);
}

上面的表达方式其实等同于(如下):

for(int i=0;i<arr.length;i++){
    int x=arr[i];
}

效果相同,只是表示形式会更加简便,下面的两种类型以此类推。 

一维数组String类型: 

String[] arr2={"as","de","dgr"};
for(String y:arr2){
    System.out.println(y);
}

二维数组int类型: 

int[][] arr3={
    {1,2,3,4},
    {4,3,6,2},
    {1,2,4}
}
for(int[] x:arr3){//逐层剖析
    for(int z:x){
        System.out.println(z+",");    
    }
    System.out.println("");//表示换行
}

 3.switch

一个switch的例子:

int a=10;
String b="3qu";
int c=22;
switch(a){
    case 10:
        System.out.println("10");   
        break;
        case 10:
        System.out.println("20");   
        break;
        case 20:
        System.out.println("30");   
        break;
        case 30:
        System.out.println("40");   
        break;
        default:
            System.out.println("50");
            break;
}

⭐两个重要的问题⭐

⭐①什么是switch击穿?

如图下图:

每个case中都有一个break,如果没有这个break,就不会跳出case,直到遇见break为止。

⭐②switch可以选择哪些类型?

【注意:枚举法就是一个集合中的所有成员一一列出的过程或结果】

4.continue

【引入:一次break就可以打破一次循环(如果循环嵌套循环,只会打破内层循环)】

而continue只是跳出单次循环,然后接着进行循环。

如下:

 5.【大数值】BigInteger 和 BigDecimal

【封装的数值,没有像long空间限制,可以无限大】

 

将普通类型转换成大数值:

【补充:如果valueOf()中放的数值是int或float这种基本类型,那么只能扩容到2^64,但是如果里面是字符串类型,那么就可以扩容到无限大,没有限制】

6.length属性

高级语言都具备这种属性,但是C语言没有这种功能

初始化--首次赋值

浅拷贝--指向相同(所以在修改浅拷贝数据时,原数据也会发生改变)

深拷贝--自己开辟内存,把自己的值拷贝一份存在自己的内存(此时修改拷贝体,就不会影响原数值)

【补充:深拷贝除了用上面这种方式,还可以用Arrays.copyOf(arr,length)】

 7.Java中有自带的排序方法:sort() --从小到大排序

int[] arr={1,4,5,2,5,7,8,2,4};
float[] arr2={22.52F,-12.74F,44.8F};
Arrays.sort(arr);
Arrays.sort(arr2);
//sort()还可以给字符串排序(按照字符串的首位依次的编码排序)
String[] arr3={"de","gtr","dewa","jurd"};
Arrays.sort(arr3);

 倒叙排序--从大到小

Integer[] arr={1,4,6,7,3,8,5,3};//想用倒叙,要用Integer类型
Arrays.sort(arr,(a,b)-b-a);//方法①
Arrays.sort(arr2,Collections.reverseOrder());//方法②

Java中有自带的打印方法:Arrays.toString()

Java中对象里值的排序

Person x1=new Person(10,177);
Person x2=new Person(20,167);
Person x3=new Person(15,173);
Person[] arr4={x1,x2,x3};
Arrays.sort(arr4,(a,b)-->a.height-b.height);
//此处的(a,b)对a-b,就是表示正序,从小到大

Arrays.binarySearch(arr,value),返回查找到数据的下标值(注意是从0开始的)

 


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

相关文章:

  • 科技云报到:数字化转型,从不确定性到确定性的关键路径
  • 【前端】JavaScript高级教程:线程机制与事件机制
  • RHCE web解析、dns配置、firewalld配置实验
  • C++实现用户分组--学习
  • Python学习从0到1 day27 Python 高阶技巧 ③ 设计模式 — 单例模式
  • 小白初入Android_studio所遇到的坑以及怎么解决
  • 2025年前端能否抵挡住AI浪潮的正式冲击 - 是否前端已死?我们又该何去何从
  • 腾讯会议pc端3.29.11开启悬浮窗口
  • C++开发基础之使用librabbitmq库实现RabbitMQ消息队列通信
  • ScheduledThreadPoolExecutor 定制化线程池任务调度及起底层原理
  • tcpdump 是一款功能强大的网络数据包分析工具
  • Centos安装Minio
  • Spring Boot中实现多数据源连接和切换的方案
  • QML-简单项目实战一
  • 【系统架构设计师(第2版)】五、软件工程基础知识
  • Chromium127编译指南 Mac篇(五)- 编译Chromium
  • SpringBoot连接多个redis
  • 基于SpringBoot和Vue的公司文档管理系统设计与开发(源码+定制+开发)
  • 如何使用Spring Cloud Gateway实现一个最简单的API网关示例
  • Docker入门系列——DockerFile的使用
  • 游戏引擎学习第四天
  • 杂七杂八之Swagger环境搭建(Java版本)
  • Spring Boot实现文件上传与OSS集成:从基础到应用
  • Go 使用 Redis 实现分布式锁
  • OpenAI CEO阿尔特曼预测AGI可能在五年内出现 对社会的影响远小于预期
  • ECharts 实现大屏地图功能