基础整理02
来源:互联网 发布:自动整点报时软件 编辑:程序博客网 时间:2024/04/30 14:53
一:while
package study.base.day003;import java.util.Scanner;/**顺序结构 、选择结构、循环结构 * 第三种结构:循环结构 * 代表语句: * while * doWhile * for * * while语句格式: * while(条件表达式){ * 满足条件则无限循环。 * } * * do while语句格式: * do{ * 执行语句。 * }while(条件表达式); * * for(){ * * } */public class Day031while {public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("输入一个整数,如果大于5小于等于13,循环输出。");System.out.println("请输入:");int i;i = s.nextInt();while(i>5){System.out.println("呵呵哒。");i++;if(i>13){break;}}}}
控制台输出结果:
二:doWhile
package study.base.day003;import java.util.Scanner;public class Day032doWhile {//do while先执行循环体,在判断public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("输入一个整数,先执行do循环在判断。");System.out.println("请输入:");int i;i = s.nextInt();do{System.out.println("呵呵哒");i++;if(i>8){break;}}while(i>5);}}
控制台输出结果:
三:for循环
package study.base.day003;import java.util.Scanner;public class Day033for {//for循环与while的区别//for循环是结束后,定义在for作用域里面的变量,会在内存中被释放//所以,如果需要定义临时的循环变量,for循环更加合适public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("输入一个整数,再进入for循环。");System.out.print("请输入:");int y = s.nextInt();for(int i = 0;i<y;i++){for(int k = 0;k<i;k++){System.out.print("*");}System.out.print("\n");}}}
控制台输出打印结果:
for 循环的扩展:
1) for(;;){System.out.println("d");}//什么条件都没写,为true。则自动无限循环
2)//获取1-10的和,并打印
int i;int sum = 0;for(i=1;i<11;i++){sum += i; }System.out.println("1-10的和为:"+sum);//1-50之间7的倍数个数,并打印。//原理,通过变量记录住循环操作的结果。 int s = 0;int count = 1;for(int a=1 ;a<=50;a++){if(a%7==0){s += a;count++;System.out.print("输出的数是:"+a+"\t");System.out.println("当前和:\t"+s);}}System.out.println("输出的总数是:"+count);
控制台输出打印结果:
3)for 循环的嵌套
package study.base.day003;import java.util.Scanner;public class Day037TestForInFor {//外循环控制行,内循环控制输出的字符public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("输入一个整数,再进入for循环。");System.out.println("请输入:");int y = s.nextInt();for(int i = 0;i<y;i++){for(int k = 0;k<i;k++){System.out.print("*");}System.out.println();}for(int i1 = 1 ; i1<y;i1++){for(int b = 0;b>i1;b++){System.out.print("*");}y--;}int g = 5;for(int e = 0;e<5;e++){for(int f = e;f<g;f++){System.out.print("*");}System.out.println();}}}
控制台输出结果:
(4)乘法表
package study.base.day003;import java.util.Scanner;/** * 99乘法表 */public class Day038TestFor4ChengFaBiao {public static void main(String[] args) {int a,b,c,d,sum=1;for(a = 1;a<=9;a++){for(b = 1;b<=a;b++){System.out.print(b+"*"+a+"="+b*a+"\t");}System.out.println();}for(c = 9;c>0;c--){for(d = 1;d<=c;d++){System.out.print(d+"*"+c+"="+d*c+"\t");}System.out.println();}//输入一个数,输出乘法表int e,f,into;Scanner s = new Scanner(System.in);into = s.nextInt();for(e = 1;e<=into;e++){for(f = 1;f<=e;f++){System.out.print(f+"*"+e+"="+f*e+"\t");}System.out.println();}}}
控制台输出结果:
(5)打印三角形
package study.base.day003;public class Day041TestForTriangle {public static void main(String[] args) {/** * ----* * ---* * * --* * * * -* * * * *///step1:确定循环行数,确定换行int l = 5;for(int a = 0;a<l;a++){//step2:输出倒三角----for(int b=(l-1);b>a;b--){System.out.print("-");}//step3:输出*for(int c = 0;c<=a;c++){System.out.print("*");System.out.print(" ");}System.out.println();}}}
控制台输出结果:
四:break 与 continue
package study.base.day003;public class Day040break {public static void main(String[] args) {int i ;w:for(i=1 ; i<4;i++){System.out.println("x="+i);//break;n:for(int j = 0;j<i;j++){break w;}}System.out.println("xx="+i);//continue只能作用于循环结构。继续循环for(int y = 1;y<5;y++){if(y%2==1){continue;}System.out.println("t:"+y);}}}
五:function
package study.base.day003;public class Day044TestFunction {/** * 输入两个数长x,款y。输出矩形 * @param args */public static void main(String[] args) {outJuXing(5,4);}public static void outJuXing(int x,int y){for(int a = 0;a<y;a++){for(int b = 0;b<x;b++){System.out.print("*");}System.out.println("");}}}
控制台输出结果:
六:重载Overload
重写与重载的区别:
重写是子类的方法覆盖父类的方法,要求方法名和参数都相同
重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法。
/** * 重载Overload */package study.base.day003;public class Day045Overload {public static void main(String[] args) {cfb(4);}public static void cfb(){cfb(9);}public static void cfb(int num){for(int a = 1;a<=num;a++){for(int b = 1;b<=a;b++){System.out.print(b+"*"+a+"="+b*a+"\t");}System.out.println();}}int add(int x,int y){return x+y;}int add(int x,int y,int z){return x+y+z;}double add(double x,double y){return x+y;}}
七:数组 Array
/** * 数组 * 堆栈使用 * 栈内存:变量的数据在方法体里面使用完毕,会自动释放 * 堆内存: 使用java的垃圾回收机制, * 非手动操作,也不能马上回收 */package study.base.day003;public class Day047Array {public static void main(String[] args) {//定义一个整形数组int[] i = new int[5];System.out.println(i.length);//定义一个String数组String[] s = new String[5];String[] s2 = null;String sTemp = null;int iTemp = 0;for(int x = 0;x<i.length;x++){i[x] = x;System.out.println(i[x]);sTemp = i[x]+"";s[x] = sTemp;System.out.println("xx:"+s[x]);}System.out.println(s);}/** * sTemp = i[x]+"";s[x] = sTemp;System.out.println(s[x]); */}public class L048 {public static void main(String[] args) {int[] arr1 = new int[5];//int arr[] = new int[5];一样的int[] arr2 = new int[]{1,2,3,5,6};//在堆中开辟空间//int[] arr2 = {1,2,3,5,6};//没有//遍历输出arr2for(int i =0;i<arr2.length;i++){System.out.print("\n"+arr2[i]);}arr1 = null;System.out.print("\n"+arr1[10]);}}package study.base.day004;public class L049 {public static void main(String[] args) {int[] arr1 = new int[5];//int arr[] = new int[5];一样的int[] arr2 = new int[]{1,2,3,5,6};//在堆中开辟空间//int[] arr2 = {1,2,3,5,6};//没有//遍历输出arr2for(int i =0;i<arr2.length;i++){System.out.println("arr2["+i+"]="+arr2[i]);}//arr1 = null;//System.out.print("\n"+arr1[10]);printlnArray(new int[]{1,2,4,6});}//定义一个功能,打印数组的元素,用逗号隔开public static void printlnArray(int[] arr){for(int i = 0;i<arr.length;i++){System.out.print(arr[i]+",");}}}
控制台输出结果:
扩展:冒泡排序
/** * 冒泡排序:相邻的两个元素进行比较,如果符合条件则换位。 */package study.base.day004;import java.util.Arrays;public class L052MaoPaoPaiXu {public static void main(String[] args) {int[] arrr = {7,1,6,0,4,3,2};//printArray(arrr);mppx(arrr);printArray(arrr);//java便捷排序工具Arrays.sort(arrr);printArray(arrr);}public static void printArray(int[] arr){System.out.print("[");for(int i = 0;i<arr.length;i++){System.out.print(arr[i]+",");}System.out.print("]");}public static void mppx(int [] arr){for(int x = 0;x<arr.length-1;x++){for(int y =0;y<arr.length-x-1;y++){//-x:让每一次比较的元素减少1,-1避免越界if(arr[y]>arr[y+1]){int iTemp = arr[y];arr[y] = arr[y+1];arr[y+1] = iTemp;}}}}}
控制台输出结果:
[0,1,2,3,4,6,7,][0,1,2,3,4,6,7,]
数组扩展2:
package study.base.day004;public class L054ArrayTest4 {public static void main(String[] args) {int[] arr = {1,2,3,6,4,96,3,6};int[] arr2 = {1,6,9,13,20,21};//int index = getIndex(arr,0);//System.out.println("index的索引是:"+index);int iMid = halfSearch(arr2,13);System.out.println("index的索引是:"+iMid);}//定义功能,获取key第一次出现的索引,如果不存在,则返回-1public static int getIndex(int[] arr,int key){for(int x = 0;x<arr.length;x++){if(arr[x]==key){return x;}}return -1;//}//折半查找,但必须保证该数组是有序的数组//例如:{1,3,5,6,9,13,20,21}这种有序的数组//key为对比的数值public static int halfSearch(int[] arr,int key){int min,max,mid;min = 0;max = arr.length-1;mid = (min+max)/2;while (arr[mid]!=key){if(key>arr[mid]){min = mid+1;}else if(key<arr[mid]){max = mid-1;}mid = (max+min)/2;}return mid;}}
控制台结果是:
index的索引是:3
八:十进制转换。
package study.base.day004;public class L055ArrayShiJinZhiZhuanHuan {public static void main(String[] args) {toBin(6);toHex(60);}/** * 十进制转换---》二进制 * @param num */public static void toBin(int num){StringBuffer sb = new StringBuffer();while(num>0){System.out.println(num%2);sb.append(num%2);num = num/2;}//reberse()方法,用于倒序显示System.out.println(sb.reverse());}/** * 十进制转十六进制 */public static void toHex(int num){StringBuffer sb = new StringBuffer();for(int x = 0;x<8;x++){int temp = num&15;if(temp>9){//syso+alt+///System.out.println((char)(temp-10+'A'));sb.append((char)(temp-10+'A'));}else{//System.out.println(temp);sb.append(temp);}num = num>>>4;}System.out.println(sb.reverse());}}
九:二维数组
/** * 二维数组 */package study.base.day004;public class L060EWSZ {public static void main(String[] args) {//定义了一个名称为arr的二位数组,二位数组中有3个一维数组//每一个一维数组中有四个元素。int [][] arr =new int[3][4];}}
0 0
- 基础整理02
- 黑马程序员--基础整理02
- Java基础笔记整理02
- 基础整理
- 整理基础
- 基础整理
- Emacs基础命令整理
- javascript(基础整理一)
- javascript(基础整理二)
- javascript(基础整理三)
- javascript(基础整理四)
- 知识整理:sql基础
- Sql基础语句【整理】
- oracle基础整理一
- java基础整理1
- java基础整理7
- [学习整理]VIM基础
- 回顾技术,整理基础
- ARM知识汇总
- JavaScript DOM学习(1)
- linux 定时任务
- 如何输出类的非静态成员函数地址
- Shiro实现验证码认证
- 基础整理02
- 怎样做C语言课程设计?(二)
- 在別人眼中別樣的幸福
- C++易错易混知识点
- Spring MVC与JAX-RS比较与分析
- arcgis数据类型
- Android Recovery 移植 Busybox
- c++调用matlab程序
- 数据库思考1:?