1.1什么是水仙花数?
水仙花数为三位数,并且每个位数上的立方和为这个数本身,那么这个数就为水仙花数.
比如:三位数为 abc ,如果这个三位数满足:a^3+b^3+c^3=abc 那么就称abc为水仙花数.
1.2如何用java程序输出水仙花数
class NarcissisticNumber{public static void main(String[] args){for(int i =100 ; i<=999 ; i++){int a = i%10; //个位int b = i/10%10; //十位int c = i/100; // 百位if((a*a*a+b*b*b+c*c*c)==i){ //判断是否满足水仙花数的要求System.out.println("水仙花数为:"+i); // 如果满足要求则输出}}}
}
水仙花数为:153,370,371,407
while循环的语句格式
class WhileDemo{public static void main(String[] args){初始化语句;while(条件表达式){循环体语句;控制体语句;}}}
while循环的使用
class WhileDemo1{public static void main(String[] args){//定义初始变量int i = 0;//定义求和初始变量int sum = 0;//使用while求和while(i<=100){ //判断条件是否满足如果满足则执行while内的循环sum +=i;i++;}System.out.println("1~100之间的和为:"+sum); }}
do while循环的语句格式
class DoWhileDemo{public static void main(String[] args){初始化语句;do{循环体语句;控制体语句;}while(条件表达式);}}
/*
执行流程:初始化语句先给变量赋值,直接执行循环语句,然后执行控制语句,接着在判断条件表达式是否成立
如果成立则继续执行循环语句和控制语句,直到条件表达式不成立则退出循环.
*/
1.语句的格式不一样;
2. for循环语句结束后变量将会在内存中释放掉,节省内存空间,
while 循环语句结束后依然可以访问变量,占用内存比较大;
do while循环首次执行循环体没有条件,for循环和while循环首次执行循环体都需要满足条件表达式;即do while循环至少执行一次.
//第一个死循环
for(;;){循环语句;
}//第二个死循环
while(true){循环语句;
}
break:中断,结束循环,不能单独使用无意义;
contiune:结束当前循环进入下一次循环,不能单独使用;
return: 结束方法,可以单独使用;
方法的概念:使用{}将代码包裹起来,并给代码起一个名字(方法名),以后可以直接使用方法名来调用这段代码的功能.
public static 返回值类型 方法名(形式参数类型 形式参数名称){业务要求;return 结果(要和返回值类型保持一致);}
注:使用时要注意两个明确 1).明确返回值的类型; 2). 明确参数类型以及参数的个数;
1).输出调用; 直接输出返回的结果,无法对返回值进行下一步的操作.
2).赋值调用: 获取返回值的结果还可以继续进行操作.
返回值类型 变量名 = 方法名(实际参数);
public static void 方法名(形式参数类型1 变量名1;形式参数类型2 变量名2;....){直接输出语句或者其他业务操作;
}
方法名(实际参数);
class Demo2{public static void main(String[] args){int [] arr = {23,25,13,54,62,34,16};//创建一个数组getArr(arr);System.out.println("-------------");bubboleSort(arr);getArr(arr);}//创建数组冒泡排序的方法public static void bubboleSort(int [] arr){for(int i = 0;i<arr.length-1;i++){for(int j = 0;j<arr.length-1-i;j++){if(arr[j]>arr[j+1]){int temp = arr[j];arr[j]=arr[j+1];arr[j+1] = temp;}}}}//创建遍历数组的方法public static void getArr(int [] arr){System.out.print("[");for(int i = 0;i<arr.length;i++){if(i==arr.length-1){System.out.print(arr[i]+"]");}else{System.out.print(arr[i]+", ");}}}
}
概念:方法名相同,参数列表不同,与返回值无关的多种方法可以成为方法重载;
其中参数列表不同分为 1.数据类型不一样,参数个数不一样, 2. 参数个数一样但是数据类型不一样;
什么是数组:可以储存多个相同类型元素的一种容器.
数组的定义:
数据类型 [ ] 数组名称;
数据类型 数组名称 [ ];
数组的初始化:
1)动态初始化:指定了数组的长度,系统默认给定数组的元素值;
2).静态初始化:指定了具体的元素内容,系统默认指定数组的长度;
动态初始化:
数据类型 [ ] 数组名称 = new 数据类型 [数组长度];
int [ ] arr = new int [3] ; //创建了一个长度为三的一维数组
静态初始化:
数据类型 [ ] 数组名称 = new 数据类型 []{元素1,元素2,元素3,...... };
int [] arr = new int[] {11,22,33,44}; //创建了一个内容为11,22,33,44长度为四的一维数组
简化格式: 数据类型 [] 数组名称 ={元素1,元素2,元素3,.....}
数组元素的访问: 数组名称 [角标] //即可获取对应角标的数组元素,(注:数组的角标是从0开始的)
一维数组的遍历
for(int i= 0;i<arr.length;++){Systyem.out.print(arr[i]+"t");
}
定义以及初始化:格式
三种:
格式1:
数据类型[][] 数组名称 = new 数据类型[m][n] ;
//m:表示有m个一维数组
//n:表示每一个一维数组的长度
格式2:数据类型[][] 数组名称 = new 数据类型[m][] ;
//m:表示二维数组中有m个一维数组
每一个一维数组的长度需要动态给定
//举例:arr[0] = new int[2] ;
格式3:静态初始化
数据类型[][] 数组名称 =new 数据类型[][]{{元素1,元素2,,,},{元素1,元素2...},{...}} ;
简写格式:
数据类型[][] 数组名称 = {{元素1,元素2,,,},{元素1,元素2...},{...}} ;
二维数组:基本遍历功能
for(int x = 0 ; x < arr.length ; x ++){//里面每一个一维数组for(int y = 0 ; y < arr[x].length ; y ++){//输出arr[x][y] +"t"System.out.print(arr[x][y]+"t");}}
二维数组的应用:打印杨辉三角形
import java.util.Scanner ;
class Arr2Test{public static void main(String[] args){//创建键盘录入对象Scanner sc = new Scanner(System.in) ;//提示并接收数据System.out.println("请您输入一个数据:") ;int n = sc.nextInt() ;//定义二维数组,动态初始化int[][] arr = new int[n][n] ;//给二维数组中的数据赋值(给任何的一列和最后一列赋值) //将定义二维数组遍历for(int x = 0 ; x < arr.length ; x ++){arr[x][0] = 1 ;arr[x][x] = 1 ;}//从第三行开始,中间的数据的值等于上一行的前一列+上一行的本列之和for(int x = 2 ;x < arr.length ; x ++){//内层循环for(int y = 1 ; y <=x -1; y ++){//中间的数据的值等于上一行的前一列+上一行的本列之和arr[x][y] = arr[x-1][y-1] + arr[x-1][y] ;}} //跟99乘法表规律:y的角标值 y<=x 的值for(int x = 0 ; x < arr.length ; x ++){for(int y = 0 ; y <=x ; y ++){ //x = 0 (第一行), y=0(第一列) ,y<=1(0,1)System.out.print(arr[x][y] +"t") ; //arr[0][0] arr[1][1]}System.out.println() ;}}
}
1). 符合现实世界事物生活中的思想行为习惯;
2). 使我们的角色发生的改变(从执行者变为了指挥者);
3).让复杂的事情简单化;
需要不断的创建对象,使用对象,指挥对象做事情.比如键盘入如Scanner.
创建对象的格式:
类名 对象名 = new 类名() ;
要给具体的人赋值属性 :
对象名.成员变量= 值; (需要和数据类型保持一致!)
使用人的功能:学习,打游戏,睡觉
对象名.成员方法名() ;
/*
学生有姓名,年龄,性别属性,行为有学习,睡觉以及玩游戏的行为,请使用面向对象方式书写学生类并且进行测试*/
//测试类
class Demo3{public static void main(String[] args){//创建对象Student student = new Student();student.name="张某某";student.age = 18;student.sex = "男";System.out.println("姓名:"+student.name+" , 年龄:"+student.age+", 性别:"+student.sex);student.study();student.sleep();student.game();}}
//学生类
class Student{//成员变量String name;int age;String sex;//成员行为public void study(){System.out.println("学习使我快乐");}public void sleep(){System.out.println("学习累了就睡觉");}public void game(){System.out.println("睡觉起来就玩游戏");}
}
本文发布于:2024-02-01 17:12:41,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170677875938194.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |