栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

文章目录
  • 一、数组
    • 1.初识数组
    • 2.数组的创建
    • 3.数组的元素
    • 4.数组变量
    • 5.投票统计
    • 6. 遍历数组
    • 7. 素数
    • 8. 二维数组
  • 二、字符与字符串
    • 1. 字符类型
    • 2. 逃逸字符
    • 3. 包裹类型
    • 4. 字符串变量
    • 5. 字符串操作
  • 三、函数
    • 1. Math类
    • 2. 函数的定义
    • 3. 函数的参数
    • 4. 函数调用
    • 5. 函数内的变量
  • 总结
    • 1.数组的创建
    • 2.数组的元素
    • 3.数组变量
    • 4. 遍历数组
    • 5. 二维数组
    • 6. 字符类型
    • 7. 逃逸字符
    • 8. 包裹类型
    • 9. 字符串变量
    • 10. 字符串操作
    • 11. Math类
    • 12. 函数的定义
    • 13. 函数的参数
    • 14. 函数调用
    • 15. 函数内的变量-本地变量


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

2.数组的创建
  1. 数组的含义


  1. 定义数组变量

  1. 理解一个数组

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


3.数组的元素
  1. 数组的元素


  1. 数组的有效下标

  1. 数组的长度

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

  1. 数组变量的特性

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

5.投票统计

	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. 例题
  • 用遍历数组解决问题:
    		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. 遍历数组


3, for-each循环

  • 用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编,效率低下

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

  • 方法一:

  • 方法二:

  • 方法三:

    	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 + " ");
    		}
    
  • 方法四:构造素数表
    计算机思维:

-代码如下:

	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. 二维数组的定义

  1. 二维数组的遍历


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



二、字符与字符串 1. 字符类型
  1. 含义

  1. 字符计算

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

  1. 字符可以比较大小

2. 逃逸字符
  1. 定义

  1. 逃逸字符

  • t :

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

  1. 包裹类型的用处


  1. . 运算符


4. 字符串变量
  1. 定义

  1. 字符串变量

  1. 字符串的创建
  • new:

  • 直接初始化:


  1. 字符串的拼接

  1. 输入字符串

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

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

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


5. 字符串操作

  1. compareTo() 比较大小

  1. length() 获取长度

  1. charAt() 访问字符

  1. subString() 得到子串

  1. indexOf() 寻找字符

  1. 字符不可变

  1. 其他字符串操作

  1. switch-case中的字符串


三、函数

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

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

  1. 函数的定义

  2. 素数求和


  1. 求和

  • 求和函数的解析:

3. 函数的参数
  1. 传参


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


  1. 参数和值


4. 函数调用
  1. 调用函数


  1. 函数返回

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

  • 没有返回值的函数:


5. 函数内的变量
  1. 定义

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


  1. 本地变量的规则



总结 1.数组的创建


2.数组的元素


3.数组变量


4. 遍历数组


5. 二维数组


6. 字符类型


7. 逃逸字符


8. 包裹类型


9. 字符串变量



10. 字符串操作



11. Math类


12. 函数的定义


13. 函数的参数


14. 函数调用


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

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1040370.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号