JAVA学习day07

简介: 1、奇数求和练习packagecom.ghy.studyday07; /*要求:计算1-100之间的所有的奇数和1+3+5+7...+99 有1个数据,从0变到100循环int=0

1、奇数求和练习
packagecom.ghy.studyday07;

/*
要求:
计算1-100之间的所有的奇数和
1+3+5+7...+99

有1个数据,从0变到100循环int=0<=100++
从0-100,范围内,找到奇数数%2==1奇数
所有的奇数求和计算
需要变量,保存奇数的求和

实现步骤:
1.程序可以使用到的数据,预先定义好变量
需要求的奇数和
2.利用循环,让变量从0变化到100
3.判断变量的变化情况是不是奇数
4.如果是奇数,和预先定义好的变量,求和
*/
publicclassLoopTest{
publicstaticvoidmain(String[]args){
//定义变量,保存求和
intsum=0;
//for循环,循环中的变量,0-100
for(inti=0;i<=100;i++){
//对循环的变量,进行奇数的判断,%2==1
if(i%2==1){
//对奇数求和
sum+=i;
}
}
System.out.println(sum);

//sum=0;

/*for(inti=1;i<=100;i+=2){
sum+=i;
}
System.out.println(sum);*/
}
}

2、计算出水仙花数即 3位数本身 = 百位数立方 + 十位数立方 + 个位数立方
三位数100-999个位数的立方+十位数的立方+百位数的立方=自己本身
153=111+555+333
已知三位数123获取出每个数位利用除法,取模运算

实现步骤:
1.定义变量才存储三个数位上的整数
2.利用循环,循环中的变量,从100变化到999
3.循环中得到三位数,利用算法,拆解成三个单独数位
4.将三个数位立方的求和计算,计算后的求和,和他自己进行比较判断
相同,就是水仙花
publicclassLoopTest_1{
publicstaticvoidmain(String[]args){
//定义三个变量
intbai=0;
intshi=0;
intge=0;

//循环,循环变量从100-999
for(inti=100;i<1000;i++){
//对i,进行计算,获取出三个数位
//获取百位
bai=i/100;
//获取十位
shi=i/10%10;
//获取个位
ge=i%10;
//对三个数位进行立方求和
if(baibaibai+shishishi+gegege==i){
System.out.println(i);
}
}
}
}

3、ASCII编码表
数字0-9对应ASCII编码十进制为48-57, 字母a-z对应ASCII编码十进制为97-122,字母A-Z对应ASCII编码十进制为65-90

4、利用for循环打印字母表

/*
利用循环,输出字母包含大写小写,52个
输出A-Za-z
利用编码表实现,字母和数字的对应关系
A-Z65-90
a-z97-122

实现步骤:
1.定义变量,保存小写a,大写A
2.循环26次,输出定义好的变量
每次循环,变量++
*/
publicclassLoopTest_2{
publicstaticvoidmain(String[]args){
//定义变量,保存2个字母
charxiaoXie='a';
chardaXie='A';
//定义循环,次数26次
for(inti=0;i<26;i++){
//输出保存字母的变量
System.out.println(xiaoXie+""+daXie);
daXie++;
xiaoXie++;
}
}
}

5、利用for循环打印9*9表
for循环的特点:

外循环,行数
内循环,每行的个数

/*
利用嵌套for循环,实现99乘法表示
实现步骤:
1.定义外循环控制行数
2.内循环控制个数,个数,每次都在递增
3.循环中输出,乘法表的格式1*3=3
*/
publicclassLoopTest_3{
publicstaticvoidmain(String[]args){
print99(9);
}

publicstaticvoidprint99(intn){
//定义外循环,循环9次
for(inti=1;i<=n;i++){
//定义内循环,每次递增,循环条件,<=i
for(intj=1;j<=i;j++){
//按照标准格式,输出打印
System.out.print(j+""+i+"="+ij+"t");
}
System.out.println();
}
}
}

6、实现数组的遍历

7、数组的逆序

不等于反向遍历
逆序的实现思想,数组最远端位置的交换

数组的指针思想:
就是数组的索引
指针是可以随时指向数组的任意一个索引的

需要两个指针
一个大指针,一个小指针
大指针=最大索引
小指针=0索引



8、选择排序原理selectSort
数组中的每个元素,和其他元素进行比较换位置

元素换位需要借助第三方变量
packagecom.ghy.studyday07;

/*
数组的排序:一般都是升序排列,元素,小到大的排列

两种排序的方式
选择排序:数组的每个元素都进行比较
冒泡排序:数组中相邻元素进行比较
规则:比较大小,位置交换
*/
publicclassArrayMethodTest_2{
publicstaticvoidmain(String[]args){
int[]arr={3,1,4,2,56,7,0};
//调用选择排序方法
//selectSort(arr);

//调用冒泡排序方法
bubbleSort(arr);
printArray(arr);
}
/*
定义方法,实现数组的冒泡排序
返回值:没有
参数:数组
*/
publicstaticvoidbubbleSort(int[]arr){
for(inti=0;i//每次内循环的比较,从0索引开始,每次都在递减
for(intj=0;j//比较的索引,是j和j+1
if(arr[j]>arr[j+1]){
inttemp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}

/*
定义方法,实现数组的选择排序
返回值:没有
参数:数组
实现步骤:
1.嵌套循环实现排序
外循环,控制的是一共比较了多少次
内循环,控制的是每次比较了多少个元素
2.判断元素的大小值
小值,存储到小的索引
*/
publicstaticvoidselectSort(int[]arr){
for(inti=0;i//内循环,是每次都在减少,修改变量的定义
for(intj=i+1;j//数组的元素进行判断
if(arr[i]>arr[j]){
//数组的换位
inttemp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}

/*
定义方法,实现功能
返回值:void
方法参数:数组
*/
publicstaticvoidprintArray(int[]arr){
//输出一半中括号,不要换行打印
System.out.print("[");
//数组进行遍历
for(inti=0;i//判断遍历到的元素,是不是数组的最后一个元素
//如何判断循环变量到达length-1
if(i==arr.length-1){
//输出数组的元素和]
System.out.print(arr[i]+"]");
}else{
//不是数组的最后一个元素,输出数组元素和逗号
System.out.print(arr[i]+",");
}
}
System.out.println();
}
}

9、冒泡排序功能
数组的相邻元素换位置
1.嵌套循环实现排序
外循环,控制的是一共比较了多少次
内循环,控制的是每次比较了多少个元素image
10、数组的折半查找
前提:被查找的数组中的元素,必须有序排列

image

目录
相关文章
|
29天前
|
Java 调度 开发者
Java线程池ExecutorService学习和使用
通过学习和使用Java中的 `ExecutorService`,可以显著提升并发编程的效率和代码的可维护性。合理配置线程池参数,结合实际应用场景,可以实现高效、可靠的并发处理。希望本文提供的示例和思路能够帮助开发者深入理解并应用 `ExecutorService`,实现更高效的并发程序。
34 10
|
1月前
|
Java 数据库连接 数据库
【潜意识Java】深度分析黑马项目《苍穹外卖》在Java学习中的重要性
《苍穹外卖》项目对Java学习至关重要。它涵盖了用户管理、商品查询、订单处理等模块,涉及Spring Boot、MyBatis、Redis等技术栈。
93 4
|
1月前
|
前端开发 Java 数据库连接
【潜意识Java】深度解读JavaWeb开发在Java学习中的重要性
深度解读JavaWeb开发在Java学习中的重要性
30 4
|
1月前
|
存储 移动开发 算法
【潜意识Java】Java基础教程:从零开始的学习之旅
本文介绍了 Java 编程语言的基础知识,涵盖从简介、程序结构到面向对象编程的核心概念。首先,Java 是一种高级、跨平台的面向对象语言,支持“一次编写,到处运行”。接着,文章详细讲解了 Java 程序的基本结构,包括包声明、导入语句、类声明和 main 方法。随后,深入探讨了基础语法,如数据类型、变量、控制结构、方法和数组。此外,还介绍了面向对象编程的关键概念,例如类与对象、继承和多态。最后,针对常见的编程错误提供了调试技巧,并总结了学习 Java 的重要性和方法。适合初学者逐步掌握 Java 编程。
53 1
|
3月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
3月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
4月前
|
XML Java 编译器
Java学习十六—掌握注解:让编程更简单
Java 注解(Annotation)是一种特殊的语法结构,可以在代码中嵌入元数据。它们不直接影响代码的运行,但可以通过工具和框架提供额外的信息,帮助在编译、部署或运行时进行处理。
124 43
Java学习十六—掌握注解:让编程更简单
|
4月前
|
存储 算法 Java
带你学习java的数组军队列
带你学习java的数组军队列
49 0
|
4月前
|
存储 SQL 小程序
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
这篇文章详细介绍了Java虚拟机(JVM)的运行时数据区域和JVM指令集,包括程序计数器、虚拟机栈、本地方法栈、直接内存、方法区和堆,以及栈帧的组成部分和执行流程。
67 2
JVM知识体系学习五:Java Runtime Data Area and JVM Instruction (java运行时数据区域和java指令(大约200多条,这里就将一些简单的指令和学习))
|
4月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
81 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用