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.嵌套循环实现排序
外循环,控制的是一共比较了多少次
内循环,控制的是每次比较了多少个元素
10、数组的折半查找
前提:被查找的数组中的元素,必须有序排列

JAVA学习day07相关推荐

  1. Java 学习 Day07

    Java 学习 Day07 一.this关键字的使用 this可以用来修饰.调用:属性.方法.构造器 this修饰属性和方法: this理解为:当前对象 或 当前正在创建的对象 (1)在类的方法中,我 ...

  2. 达内java学习day07

    引用类型数组 int[]为整形数组,String[]为字符串类型数组.一个里面装的是整数,另一个是字符串.而我们将一个类中的对象作为元素组成的数组称为引用类型数组. public class Aoo{ ...

  3. JAVA学习day07 1

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

  4. Java学习---day07_继承及final、Object的介绍

    Java学习-day07 简介: 在java中存在继承的思想,来提高代码的复用性,代码的拓展性. 程序中的继承,是类与类之间的特征和行为的一种赠予或获取.一个类可以将自己的属性和方法赠予其他的类,一个 ...

  5. java学习笔记day07 成员变量与局部变量、形式参数、匿名对象、封装、private、this、构造方法、类详细讲解、static

    java学习笔记day07 1.成员变量和局部变量的区别 定义变量的注意事项 2.形式参数⭐ [P175] 形参是个类名,要的其实是一个对象 3.匿名对象(了解即可) 4.封装 class Stude ...

  6. Java学习(静态static关键字,数组工具类Arrays,数学相关工具类(绝对值,向上取整,向下取整),继承,super和this关键字,抽象)

    2022/1/2 (1/6)Java学习 1.静态Static关键字概述 一旦用了static关键字,那么这样的内容不再属于对象自己,而是属于类的,所以凡是本类的对象,都共享同一份. 2.静态stat ...

  7. Java学习路线图,如何学习Java事半功倍?

    作为一个初学者想掌握Java并不是很容易,Java本身是具有一定难度的,虽然说兴趣这东西可以让我们学习不累,但是有多少人学习是因为兴趣,或者有多少人知道自己的兴趣在哪?所以我很明确的告诉你学习这事本来 ...

  8. Java学习必不可少的网站,快收藏起来

    java技术在IT互联网行业的发展前景一直在提升,越来越多的人都在学习java技术,今天小编来给大家提供一些学习Java的网站集合,希望能够帮助到正在学习java技术的同学. Java学习必不可少的网 ...

  9. 分享五款java学习辅助工具,总有你用的上的~

    想要学好java技术,除了自身的努力,辅助工具也不缺少,辅助工具可以帮助大家在今后的工作中可以提高工作效率,下面小编就来分享五款java学习辅助工具,总有你用的上的~ 五款java学习辅助工具: 1. ...

最新文章

  1. 拼多多java开发一面、二面合并面经
  2. 第十七届智能车竞赛英飞凌专题培训 ——四轮摄像头组入门讲解
  3. Nessus提示API Disabled错误
  4. Linux内核I/O系统报错日志与硬盘故障对应关系
  5. 什么是Code Review 代码审查
  6. 由“求最大公约数“引发的思考
  7. LeetCode 581. Shortest Unsorted Continuous Subarray
  8. 启用计算机浏览器摄像头,如何启用浏览器进行摄像头访问?
  9. 新浪通行证在线申诉找回密码业务逻辑错误导致严重安全漏洞
  10. 【转】Filter Concatenation理解
  11. 中国银联在线支付接口开发——前台支付
  12. “打工人”梗刷爆网络,今天你打工了吗?
  13. 用计算机写作文的好处,谈谈对电脑写作的意义,电脑写作与网络写作的含
  14. 观剧有感--正者无敌
  15. [ Linux ] PCF8563数据手册解析 |CSDN创作打卡
  16. im即时通讯消息id的设计
  17. jdk9模块化简单介绍
  18. jdk9、jdk10、jdk11、jdk12、jdk13新特性
  19. 一文读懂Android View事件分发机制
  20. 自制操作系统日志——第四天

热门文章

  1. static和不完全类型的一个例子
  2. 1.1 torch_数据操作
  3. 1.2.3 Using Option Files
  4. GitLab 安装笔记
  5. 面向对象程序设计(OOP)的六大原则
  6. 使用Memory Analyzer tool(MAT)分析内存泄漏
  7. Vue.js开发环境搭建的介绍
  8. Cocos2d-x3.0 DrawNode吸取
  9. 15个热门的编程趋势及15个逐步走向衰落的编程方向
  10. 利用Math.random做背景图像随机切换【前端开发技能必备系列】