学习Java第6天笔记

day06文字笔记

一、知识回顾:
1.循环结构:
for循环结构

2.三种循环结构如何选择:

3.break:跳出循环

4.嵌套循环:循环外层走一次,内层走所有次循环 层数越少越好
break只能跳出当前循环

5.数组:相同数据类型元素的集合

案例1:随机生成10个数字,并找出最大值
int[] arr = new int[10];
for(int i =0;i<arr.length;i++){
arr[i] = (int)(Math.random()*100);
System.out.println(arr[i]);
}

    int max = 0;
    for(int i = 1;i< arr.length;i++){
        if (max<arr[i]){
            max = arr[i];
        }
    }
    System.out.println("最大值为:"+max);

二、正课内容:
1.数组:
(1)复制:
1)复制的第一种方法:System.arraycopy( );-------如果想选下标
数组复制的实际操作代码:
int[] a = {10,20,30,40,50};
int[] b = new int[6];//0,0,0,0,0,0
//a:原数组;1:原数组的起始下标;b:目标数组;1:目标数组的起始下标;4:表示要复制的元素个数
System.arraycopy(a,1,b,1,4);//从源数组的第2个数字开始复制4个元素至目标数组b中,从b的第2个元素开始粘贴
for(int i = 0;i< b.length;i++){
System.out.println(b[i]);//0,20,30,40,50,0
}

2)复制的第二种方法:Arrays.copyOf();
import java.util.Arrays;
//数组的演示
public class ArrayDemo {
		public static void main(String[] args) {
	int[] a = {8,9,10,34,37};
    		int[] b = Arrays.copyOf(a,6);
    		for(int i = 0; i < b.length; i++){
        	    	   System.out.println(b[i]);
    		}
}

         ***//数组的扩容:创建一个容量更大新的数组,并将源数组的数据复制进去了
//数组的扩容代码演示:

案例1: import java.util.Arrays;
public class ArrayDemo {
public static void main(String[] args) {
int[] a = {10,20,30,50,90};//声明一个整型数组并初始化,含有5个元素
a = Arrays.copyOf(a,6);//将元素组所有元素复制并且扩容1一个元素,扩容元素为默认值0再赋值给a
for(int i = 0; i < a.length; i++){
System.out.println(a[i]);//10,20,30,50,90,0—数组扩容为6个元素,最后默认值为0
}
}
}
//求数组元素的最大值,并将其放到数组最后一个元素的下一个位置

案例2: public static void main(String[] args) {
int[] arr = new int[10];
for (int i =0 ;i < arr.length;i++){
arr[i] = (int)(Math.random()*100);
System.out.println(arr[i]);
}
int max = arr[0];
for (int i = 0 ; i< arr.length;i++){
if (max<arr[i]){
max = arr[i];
}
}
System.out.println(“最大值为”+max);
arr = Arrays .copyOf(arr,arr.length+1);//扩容
arr[arr.length-1] = max;//将最大值赋值给数组最后一个元素上
for (int i = 0;i <arr.length;i++){
System.out.println(arr[i]);
}

      (2)排序:
1)Arrays.sort(arr);//进行升序排列
***//利用Arrays.sort();进行排序的代码演示
import java.util.Arrays;
public class ArrayDemo {
		public static void main(String[] args) {
    			int[] arr = new int[10];
    			for (int i = 0;i<arr.length;i++){
        				arr[i] = (int)(Math.random()*100);
        				System.out.println(arr[i]);
    			}
    			Arrays.sort(arr);//做升序排列
    			System.out.println("升序排序后的顺序");
    			for (int i = 0 ;i < arr.length ; i++){
        			     System.out.println(arr[i]);
    			}
    			System.out.println("按降序后的排序");//先升序然后采用倒着输出数据就是降序了
    			for (int i =arr.length-1;i>=0;i--){
        			     System.out.println(arr[i]);
    			}
	}
}

1)升序:从小到大
2)降序:从大到小
常见的排序算法有:冒泡排序、快速排序、插入排序...

2.方法:函数、过程
1)作用:专门封装一段特定的业务的逻辑功能
2)原则:方法要尽可能的独立,只干一件事
3)方法可以被反复调用多次;方法可以减少代码的重复
例:项目中有10个地方要排序
若没有方法-----冒泡排序写10次(每次6句话)
若有方法------将冒泡的6句话封装在一个方法中-----然后调用10次

3.方法的定义:五要素
修饰词 返回值类型 方法名(参数列表){
-----方法体-----

public static
方法可以有返回值和无返回值
1)无返回值----返回值类型同意写成void
2)有返回值----返回值类型设置为特定的数据类型即可
何时有返回值,何时无返回值?
-----方法操作完成后:
1)若还需要用到方法中的某个数据-------需要返回值
2)若不再用方法中的数据-----不需要返回值

方法可以有参,也可以无参
---有参可以使方法更加灵活

4.方法的调用:
(1)无返回值:方法名(有参传参)

案例1: public static void say(){
System.out.println(“Hello,World!”);
}

public static void main(String[]args){
   say();
   System.out.println("继续。。。");
}//运行结果为: Hello,World!
	        继续执行。。。

案例2: public class MethodDemo {
//1)say–无参无返回值
public static void say(){
System.out.println(“我叫WJK,今年38岁了”);
}
//2)有参无返回值—名字写活了,年龄定死的
public static void sayHi(String name){
System.out.println(“我叫”+name+",今年38岁了");
}
//有参无返回值
public static void sayHi(String name,int age){
System.out.println(“我叫”+name+",今年"+age+“岁了”);
}
public static void main(String[] args) {
say();
//sayHi()//编译错误,有参必须得传参
sayHi(“张三”);
sayHi(“李四”);
sayHi(“张三”,36);
System.out.println(“继续”);
}
}

(2)有返回值
//3)无参有返回值

案例3: public static double getName(){
//若方法有返回值,则必须通过return来返回一个对应类型的数据
//return “abc”;//编译错误,返回值类型不匹配
return 8.88;
}
public static void main(String[]args){
double a = getName();
System.out.println(a);
}

//4)有参有返回值

案例4: public static int plus(int num1,int num2){
int num = num1 + num2;
return num;
}
public static void main(String[]args){
int b = plus(5,6);
System.out.println(b);//模拟返回值的后续操作
int m = 5, n =6;
int c = plus(m,n);//传的是m,n里面的数
System.out.println©;
}


5)无参有返回值---返回数组

案例5: public static int[] testArray(){
int[] arr = {2,5,4,9};
return arr;
}
public static void main(String[]args){
int[] d = testArray();
System.out.println(d.length);//模拟返回值后的继续操作
for(int i = 0;i< d.length;i++){
System.out.println(d[i]);
}

案例6. //封装一个generate方法,用于生成指定长度的int数组,并将该数组返回,测试(即调用数组数据)
//数组中的元素为0~99的随机数
public static int[] generate(int len){
int[] arr = new int[len];
for(int i = 0;i <arr.length;i++){
arr[i] = (int)(Math.random()*100);
}
return arr;
}//----封装方法
public static void main(String[] args) { //测试—调用数组数据
int[] a = generate(9);
System.out.println(a.length);
System.out.println(“遍历数组数据”);
for (int i = 0; i < a.length;i++){
System.out.println(a[i]);
}
}

5.return:
1)return值;
结束方法的执行
返回一个值给调用方-----用在有返回值的方法中—(利用率较高)
2)return;
直接结束方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值