Java入门学习-学习if & else,for循环,foreach循环,while循环的用法。

xiaoxiao2021-02-28  102

一、语法结构

1、if 用于分支情况:如果。。。就。。。否则就。。。

if(布尔表达式) { //如果布尔表达式为true将执行的语句 } if(布尔表达式){ //如果布尔表达式的值为true }else{ //如果布尔表达式的值为false }

2、for 用于循环处理:如从100内的偶数相加:从2开始,到100结束,控制变量每次增加2

for(初始化; 布尔表达式; 更新) { //代码语句 }

3、foreach 只读型for循环,用于 遍历

for(声明语句 : 表达式) { //代码句子 }

4、while 当条件成立时,一直执行循环体,直到不满足条件 do-while要注意while表达式后面有;

while( 布尔表达式 ) { //循环内容 }

先执行一次,再判断条件是否成立

do { //代码语句 }while(布尔表达式);

二、实践

1、if-else 下面为加深理解比较两个string是否相等的栗子

public class temp { public static void main (String[] args){ String string=new String(); string="Hello C!"; String string1="Hello C!"; String string2=new String("Hello C!"); if (string==string1) { System.out.println("两个String用==判断相同");//程序执行了该语句,因为在java中字符串的值是不可改变的,相同的字符串在内存中只会存一份,所以string和string1指向的是同一个对象; } else System.out.println("两个String用==判断不同"); if (string1==string2) { System.out.println("两个String用==判断相同"); } else System.out.println("两个String用==判断不同");//程序执行了这句,因为string1和string2指向的对象是不同的 if (string1.equals(string2)) { System.out.println("两个String用equals判断相同"); } else System.out.println("两个String用equals判断不同"); } } /* 输出: 两个String用==判断相同 两个String用==判断不同 两个String用equals判断相同 */

2、for循环 之前做面试题,有一个题是说输出一个蛇形数组,如下: 1 2 3 8 9 4 7 6 5 当时没有做出来,其实静下心来仔细分析,也不难:主要是要注意下标。下面是写的一个小方法

public int[][] SnakeMatrix(int [][] s) { int count=1; int n=s.length; for(int i=0;i<n/2+1;i++){ //上 for(int j=i;j<n-i;j++){ s[i][j]=count; count++; } //右 for(int j=i+1;j<n-i;j++){ s[j][n-i-1]=count; count++; } //下 for(int j=n-i-2;j>=i;j--){ s[n-i-1][j]=count; count++; } //左 for(int j=n-i-2;j>i;j--){ s[j][i]=count; count++; } } return s; }

3、foreach

//ArrayList的栗子 public static void main (String[] args){ ArrayList<String> c =new ArrayList<String>(); c.add("张三"); c.add("李四"); c.add("王五"); for(String i:c){ System.out.println(i); } //不过网上说这样效率不高,因为每次i都是创建一个对象,再用get方法得到值。 //String 数组的栗子 public static void main (String[] args){ String [] te = new String[5]; te[0]="test0"; te[2]="test2"; te[4]="test4"; for(String i :te){ System.out.println(i); } } /*输出 test0 null test2 null test4 */ //初始化后,如果没有赋值就输出,会输出null; //试了int的数组,没赋值的位置输出0;

4、while 下面是跟着老师视频写的一个开根号的方法

private static double Sqrt(double i) { // TODO Auto-generated method stub double x=1.0; //根 do{ x=(x+i/x)/2; }while(Math.abs(x*x-i)>1e-6); //直到根的平方无线接近于i,就代表x近似于根。 //如果不接近,就循环回去,再类似二分法(取根和i/根的中间) return x; }
转载请注明原文地址: https://www.6miu.com/read-63741.html

最新回复(0)