基础整理02
2015-05-22 17:10
10 查看
一:while
控制台输出结果:
二:doWhile
控制台输出结果:
三:for循环
控制台输出打印结果:
for 循环的扩展:
1) for(;;){System.out.println("d");}//什么条件都没写,为true。则自动无限循环
2)//获取1-10的和,并打印
控制台输出打印结果:
3)for 循环的嵌套
控制台输出结果:
(4)乘法表
控制台输出结果:
(5)打印三角形
控制台输出结果:
四:break 与 continue
五:function
控制台输出结果:
六:重载Overload
重写与重载的区别:
重写是子类的方法覆盖父类的方法,要求方法名和参数都相同
重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档看看类的构造方法。
七:数组 Array
控制台输出结果:
扩展:冒泡排序
控制台输出结果:
[0,1,2,3,4,6,7,][0,1,2,3,4,6,7,]
数组扩展2:
控制台结果是:
index的索引是:3
八:十进制转换。
九:二维数组
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}; //没有 //遍历输出arr2 for(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}; //没有 //遍历输出arr2 for(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第一次出现的索引,如果不存在,则返回-1 public 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]; } }
相关文章推荐
- 菜鸟学python(02)—— 基础笔记整理
- 考研数学 - 初数基础整理02
- Java基础知识点整理Day_02
- Java笔记整理-02.Java基础语法
- 黑马程序员--基础整理02
- Java基础笔记整理02
- Kotlin官方参考整理——02.基础
- Java基础笔记整理---【02】JDK及JRE名词解释、程序开发步骤(笔记本)
- JVM基础研究整理
- JVM基础研究整理之九--新一代的垃圾回收算法
- 把SQL语句比较基础的整理了一下
- jQuery基础知识整理(1)
- C#基础知识整理:C#基础(2)
- 测试基础知识点整理(周末版)
- 9、C#基础整理(多维数组)
- int指令02 - 零基础入门学习汇编语言65
- javascript(基础整理四)
- .NET面试题整理-基础篇
- 函数02 - 零基础入门学习C语言33
- java基础知识记录--java代码查错 (摘自张孝祥整理java面试题)