第三次笔记

循环嵌套

package day03;
public class Test{
	public static void main(String[] args){
	/*循环嵌套:在循环中再嵌套循环
	例1:利用循环输出一个****
						****
						****
						****
	代码如下:*/
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4; j++) {
                System.out.print("*");

            }
            System.out.println();//外循环循环一次换行(控制输出格式)

        }
    }
}



//例2:输出一个九九乘法表
public class Test3 {
    public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
            for (int j =1; j <=i; j++) {
                System.out.print(j+"*"+i+"="+i*j+"\t");
            }
            System.out.println();
        }
//例3:求100以内的质素
public class Test3 {
    public static void main(String[] args) {
        for (int i = 2; i < 101; i++) {
            boolean res = true;//标记作用
            for (int j = 2; j < i; j++) {
                if (i % j == 0) {
                    res = false;
                    break;
                }

            }
            if (res) {
                System.out.println(i+"为质数");
            }
        }
    }
}

/*在内层循环中使用break关键字可以结束指定的外层循环*/
//例4
public class Test3 {
    public static void main(String[] args) {
        out:for (int i = 0; i < 3; i++) {       //out为标记点
            for (int j = 0; j < 3; j++) {
                if (j == 2) {
                    break out;//打破外层循环
                }
                System.out.println("j=" + j);
            }
                System.out.println("i=" + i);
            }
        }
    }
//使用return也可以结束多层循环
//例5:
public class Test3 {
    public static void main(String[] args) {
       for (int i = 0; i < 3; i++) {       
            for (int j = 0; j < 3; j++) {
                if (j == 2) {
                    return ;
                }
                System.out.println("j=" + j);
            }
                System.out.println("i=" + i);
            }
        }
    }

输出结果与例4一样:

j=0
j=1

Java中的方法

Java中的方法类似于其他(c)语言中的函数,解决某一类问题的代码组合。
【修饰符】【返回值类型void】方法名(形参类型 形参名…)
{
方法体
[return 值]
}
主方法,Java程序入口

public class Test3{
public static void main(String[] args){
//调用方法,创建方法所在类的对象
Test3 a=new Test3();
byte r=5,c=3;
a.printStar(r,c);//注意数据类型
a.method1();
int res=a.max(10,5);
System.out.print(res);
//创建打印星型的方法
public void printStar(int row,int col){
for (int i = 0; i <row; i++) {
            for(int j=0;j<col;j++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
//创建methond1方法
public  void method1(){
        System.out.println("方法的测试");
        //return;//return 语句后面如果没有值,只是让方法终止

数组:储存一组类型相同的数据,在内存空间中是连续的,长度一旦给定就不能改变了。
数组属于引用数据类型(对象);

public class Test3{
public static void main(String[] args){
//声明数组
//int 指的是数组中储存的数据类型为int;
int[]a;//第一种
int a[];//第二种;
/*一般建议使用第一种,防止数据类型混淆;
例如:int []a,b,c;表示a,b,c均为数组
	  而int a[],b,c;则表示a为数组,b,c,不为数组;*/
	  
//创建数组
int []ary0=new int[2];//动态创建;10表示数组的储存空间长度;
System.out.println(Arrays.toString(ary0));
/*结果为[0,0]
默认值:
布尔类型为:false;char类型为空格;引用类型为:NULL;*/
//第二种创建类型
int [] ary1=new int[]{1,2};//静态创建
//第三种创建类型
int []arry2={1,2};
/*两种常见类型没多大区别,相比于第二种创建类型一般使用第三种创建类型*/
	}
}

数组元素访问——遍历

public class Test3{
public static void main(String[] args){
/*数组元素的访问:通过索引访问;(每个元素的位置编号)
索引的特点为:整数(int),从0到长度-1;
数组的长度是有限的,上限为int的最大值减8;*/
int []a=new int[3];
for(int i=0;i<3;i++){
a[i]=i+2;
}
System.out.println(Arrays.toString(a));
	}
}
/*输出结果为[2,3,4]*/
//取出数组中的元素;
int []b={1,2,3,4};
//方式一:for循环
 for (int i = 0; i < b.length; i++) {
 	 System.out.println(b[i]);
        }
/*输出结果为1 2 3 4;*/
//方式二:增强for循环,将数组b中的数全部赋给t;只对元素遍历时较方便;
/*for(声明一个变量用来接收每次从数组中取出的元素,变量类型与数组类型一致:需要遍历的数组),每循环一次从数组中取出对应的元素赋给变量,直到没有元素*/
 for(int t:b){
            System.out.println(t);
        }
        /*输出结果与方式一样*/

冒泡排序

public class Test3{
public static void mian(String[] args){
/*冒泡排序:
每次取出相邻的两个元素进行比较,将较大数向后移,直到所有的数比较完*/
int []a={4,3,2,1};
/*
第一次 3 2 1 4
第二次 2 1 3 4
第三次 1 2 3 4
*/
      for (int i = 0; i < b.length-1; i++) {//外层循环:控制循环次数
            for (int j = 0; j <b.length-1-i; j++) {//内层:控制每次比较次数
                if (b[j]>b[j+1]){
                    int temp=b[j+1];
                    b[j+1]=b[j];
                    b[j]=temp;
                }
            }

        }
        System.out.println(Arrays.toString(b));
        }
    }
    /*结果为[1,,2,3,4]*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值