java入门:数组、二维数组、字符与字符串、函数


一、数组

1.初识数组

  • 引入
    Alt
  • 如果需要运行不被记录的每一个数,那么这种方法就存在问题
  • 于有数组可以解决这种问题
    Alt

2.数组的创建

  1. 数组的含义

Alt


  1. 定义数组变量
    Alt

  1. 理解一个数组
    Alt

  1. 数组的创建方法
  • 除了通过定义数组的方法外,还可以通过直接初始化数组的方法来创建一个数组

Alt


3.数组的元素

  1. 数组的元素

Alt


  1. 数组的有效下标
    Alt

  1. 数组的长度
    Alt

4.数组变量

  1. 数组变量赋值
    Alt
  • 发现数组变量之间赋值后,一者数据改变,另一组数据也同样改变
  • 原因:
    Alt

  1. 数组变量的特性
    Alt

  1. 复制数组
  • 复制数组要依次循环遍历
    Alt

5.投票统计

Alt

	Scanner in = new Scanner(System.in);
		
		int[] number = new int[10];//下标为0~9       			 //1、创建数组
		 int x = in.nextInt();
		 while(x != -1)
		 {
			 if(x >= 0 && x <=9)
			 {
				 number[x]++;//java数组默认全部初始化为0			//2、数组参与运算
			 }
			 x = in.nextInt();
		 }
		 for(int i = 0; i < number.length; i++) 				//3、遍历数组输出
		 {
			 System.out.println(i + "出现了" + number[i] + "次");
		 }

6. 遍历数组

  1. 例题
    Alt
  • 用遍历数组解决问题:
    		Scanner in = new Scanner(System.in);
    		//线性搜索
    		int[] data = {3, 2, 5, 7, 4, 9, 11, 34, 12, 28};
    		int x = in.nextInt();//需要搜索的数据
    		int loc = -1;//下标。没有搜索成功,下标就为-1,无效
    		for(int i = 0; i < data.length; i++)//遍历搜索
    		{
    			if(x == data[i])
    			{
    				loc = i;
    				break;
    			}
    		}
    		if(loc > -1)
    			System.out.println(x + "是第" + (loc + 1) + "个");
    		else
    			System.out.println(x + "不在其中");
    

  1. 遍历数组

Alt


3, for-each循环
Alt

  • 用for-each解决搜索问题:

    	Scanner in = new Scanner(System.in);
    		//不需要显示下标前提下,更有效率的方法
    		int[] data = {3, 2, 5, 7, 4, 9, 11, 34, 12, 28};
    		int x = in.nextInt();//需要搜索的数据
    		int loc = -1;//下标。没有搜索成功,下标就为-1,无效
    		boolean found = false;
    		for(int k : data)//for-each循环  【不能修改数组】
    		{				//for-each 表示为data中的每一个元素作为k值来遍历
    			if(k == x)
    			{
    				found = true;
    				break;
    			}
    		}
    		if(found)
    			System.out.println("找到了!");
    		else
    			System.out.println("没有找到!");
    

7. 素数

  • 前面所学的求素数程序需要循环n编,效率低下

  • 新方法按效率从低到高排序:

  • 方法一:
    Alt

  • 方法二:
    Alt

  • 方法三:
    Alt

    	Scanner in = new Scanner(System.in);
    		
    		int[] primes = new int[50];//存放已经发现的素数
    		primes[0] = 2;
    		int cnt = 1;//1.下一个发现的素数要放到primes[cnt]中; 
    					//2.有cnt个素数在primes数组里面
    		MAIN_LOOP:
    		for(int x = 3; cnt < 50; x++)
    		{
    			for(int i = 0; i < cnt; i++)
    			{
    				if(x % primes[i] == 0)
    				{
    					continue MAIN_LOOP;//x不是素数,跳过
    				}
    			}
    			primes[cnt++] = x;//x为素数,计入primes
    		}
    		for(int k : primes)
    		{
    			System.out.print(k + " ");
    		}
    
  • 方法四:构造素数表
    计算机思维:
    Alr

-代码如下:

Alt

	Scanner in = new Scanner(System.in);
		
		boolean[] isPrime = new boolean[100];//java默认初始化为0/false
		for(int i = 0; i < isPrime.length; i++)//数组isPrime全部初始化为true
		{
			isPrime[i] = true;
		}
		for(int i = 2; i < isPrime.length; i++)
		{
			if(isPrime[i])
			{
				for(int k = 2; i * k < isPrime.length; k++)//将i的k倍全部赋值为false
				{
					isPrime[i*k] = false;
				}
			}
		}
		for(int i = 2; i < isPrime.length; i++)//遍历输出素数
		{
			if(isPrime[i])
				System.out.print(i + " ");
		}

8. 二维数组

  1. 二维数组的定义
    Alt

  1. 二维数组的遍历

Alt


  1. . 二维数组的初始化(同一位数组)
  • 用定义:int[][] a = new int [b][c]来初始化,二维数组里的所有数默认为0
  • 直接初始化二维数组

Alt



二、字符与字符串

1. 字符类型

  1. 含义
    Alt

  1. 字符计算
    Alt

  1. 字母大小写转换
    Alt
		char c = 'b' - 'a' + 'A';
		char C = 'B' - 'A' + 'a';
		System.out.println("大写为" + c + ";" + "小写为" + C);
  • 我的理解:
    小写转换成大写:先减去a获得与a的距离,再加上A变成大写
    大写转换成小写:先减去A获得与A的距离,再加上a变成小写

  1. 字符可以比较大小
    Alt

2. 逃逸字符

  1. 定义
    Alt

  1. 逃逸字符

Alt

  • \t :
    Alt

3. 包裹类型

  1. 与基础类型对应的包裹类型
    Alt

  1. 包裹类型的用处

Alt

Alt


  1. . 运算符

Alt


4. 字符串变量

  1. 定义
    ALt

  1. 字符串变量
    Alt

  1. 字符串的创建
  • new:
    Alt

  • 直接初始化:
    Alt


  1. 字符串的拼接
    Alt

  1. 输入字符串
    Alt

  1. 字符串赋值与基础类型赋值

Alt

  • 字符串是对象的管理者,与数组一致,两变量之间赋值后,一者的值改变,令一者也改变
  • 基础类型是对象的拥有者,两变量之间赋值后,一者的值改变,令一者不改变

  1. 比较两个字符串
    Alt
  • ”==“符号比较两者的地址
  • equals()比较两者的内容

Alt


5. 字符串操作

Alt

  1. compareTo() 比较大小
    alt

  1. length() 获取长度
    Alt

  1. charAt() 访问字符
    Alt

  1. subString() 得到子串
    Alt

  1. indexOf() 寻找字符
    Alt

  1. 字符不可变
    Alt

  1. 其他字符串操作
    Alt

  1. switch-case中的字符串
    Alt


三、函数

Alt

  • 调试函数时,需要点击Step Into才能进入函数去调试程序
  • 否则Step Over会跳过函数,直接返回结果
  • 图中按钮的右边第二个是Step Return, 可以在调试函数时跳出函数

1. Math类

Alt

2. 函数的定义

  1. 以前学习的函数
    Alt
  • 这些函数都是java自带的函数

  1. 函数的定义
    Alt

  2. 素数求和
    Alt


  1. 求和

Alt

  • 求和函数的解析:
    Alt

3. 函数的参数

  1. 传参

Alt


  1. 传递的参数类型不匹配

Alt


  1. 参数和值

Alt


4. 函数调用

  1. 调用函数

Alt


  1. 函数返回
    Alt

  1. 函数的返回值
  • 有返回值的函数:
    Alt

  • 没有返回值的函数:
    Alt


5. 函数内的变量

  1. 定义
    Alt

  1. 变量的生存期和作用域

Alt


  1. 本地变量的规则

Alt



总结

1. 数组

  1. 数组的创建
    Alt

  1. 数组的元素
    Alt

  1. 数组变量

Alt


  1. 遍历数组
    Alt

  1. 二维数组

Alt


2. 字符与字符串

  1. 字符类型

Alt


  1. 逃逸字符

Alt


  1. 包裹类型
    Alt

  1. 字符串变量

Alt
Alt


  1. 字符串操作
    Alt
    ALt

3. 函数

  1. Math类
    Alt

  1. 函数的定义
    ALt

  1. 函数的参数

Alt


  1. 函数调用

ALt


  1. 函数内的变量-本地变量

ALt

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值