基础整理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
原创粉丝点击