JAVA基础day04

2023-10-27

package com.atguigu.exer;

/*

  • (1)创建一个名为TestArray的类,在main()方法中声明array1和array2两个变量,
  • 他们是int[]类型的数组。
    (2)使用大括号{},把array1初始化为8个素数:2,3,5,7,11,13,17,19。
    (3)显示array1的内容。
    (4)赋值array2变量等于array1,修改array2中的偶索引元素,使其等于索引值
    (如array[0]=0,array[2]=2)。打印出array1。

*/
public class TestArray {
public static void main(String[] args) {
int[] array1, array2;
array1 = new int[] { 2, 3, 5, 7, 11, 13, 17, 19 };

	// 遍历array1
	for (int i = 0; i < array1.length; i++) {
		System.out.print(array1[i] + "\t");
	}
	System.out.println();
	System.out.println(array1);
	array2 = array1;
	System.out.println(array2);
	// 修改array2
	for (int i = 0; i < array2.length; i++) {
		if (i % 2 == 0) {
			array2[i] = i;
		}
	}
	// 遍历array1
	for (int i = 0; i < array1.length; i++) {
		
		System.out.print(array1[i] + "\t");
	}

	// // 遍历array2
	// for (int i = 0; i < array2.length; i++) {
	// System.out.print(array2[i] + "\t");
	// }
}

}

package com.atguigu.exer;

public class TestGetSum {
public static void main(String[] args) {
int[][] m = new int[][]{{3,8,2},{2,7},{9,0,1,6}};
int sum = 0;
for(int i = 0;i < m.length;i++){
for(int j = 0;j < m[i].length;j++){
System.out.print(m[i][j] + “\t”);
sum += m[i][j];
}
System.out.println();
}
System.out.println(“总和为:” + sum);
}
}

package com.atguigu.exer;
/*

  • 1.(1)定义类Pritimive,在类中定义一个有3个元素的boolean类型的数组t作为其成员变量。
  •  数组元素未赋值。
    
    定义类TestPritimive,在TestPritimive的main()方法中创建Pritimive对象d,输出其成员变量t的三个元素值。
    练习目的:检验基本数据类型数组创建时的自动赋值。
    (2)给对象d的成员变量t赋值为{true,true,true},并输出t的三个元素值。

*/
public class TestPritimive {
public static void main(String[] args) {
//创建Pritimive的对象d
Pritimive d = new Pritimive();
//遍历d的数组元素
for(int i = 0;i < d.t.length;i++){
System.out.println(d.t[i]);
}
//给d的数组元素重新赋值
d.t[0] = true;
d.t[1] = true;
d.t[2] = true;
for(int i = 0;i < d.t.length;i++){
System.out.println(d.t[i]);
}

}

}
class Pritimive{
boolean[] t = new boolean[3];
}

package com.atguigu.exer;
/*

  • 从键盘读入学生成绩,找出最高分,并输出学生成绩等级。
    成绩>=最高分-10 等级为’A’
    成绩>=最高分-20 等级为’B’
    成绩>=最高分-30 等级为’C’
    其余 等级为’D’

    提示:先读入学生人数,根据人数创建int数组,存放学生成绩。

*/
import java.util.Scanner;
public class TestStudentScore {
public static void main(String[] args) {
//1.创建Scanner的对象,并从键盘获取学生的个数n
Scanner s = new Scanner(System.in);
System.out.println(“请输入学生的个数:”);
int count = s.nextInt();//count用来记录学生的个数
//2.根据输入的学生的个数n,创建一个长度为n的int型的数组
int[] scores = new int[count];
int maxScore = 0;
//3.依次从键盘获取n个学生的成绩,并赋给相应的数组元素,并获取n个学生中的最高分
System.out.println(“请输入” + count + “个成绩:”);
for(int i = 0;i < scores.length;i++){
int score = s.nextInt();//依次从键盘获取学生的成绩
scores[i] = score;
if(scores[i] > maxScore){
maxScore = scores[i];
}
}

	//4.遍历学生成绩的数组,并根据学生成绩与最高分的差值,赋予相应的等级,并输出
	System.out.println("最高分为:" + maxScore);
	for(int i = 0;i < scores.length;i++){
		char level;
		if(scores[i] >= maxScore - 10){
			level = 'A';
		}else if(scores[i] >= maxScore - 20){
			level = 'B';
		}else if(scores[i] >= maxScore - 30){
			level = 'C';
		}else{
			level = 'D';
		}
		
		System.out.println("student " + i + " score is " + scores[i] + " grade is " + level);
	}
}

}

package com.atguigu.exer;
/*

  • 使用二维数组打印一个 10 行杨辉三角.
    1
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    1 5 10 10 5 1

【提示】

  1. 第一行有 1 个元素, 第 n 行有 n 个元素
  2. 每一行的第一个元素和最后一个元素都是 1
  3. 从第三行开始, 对于非第一个元素和最后一个元素的元素.
    yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];

*/
public class TestYangHui {
public static void main(String[] args) {
int[][] yangHui = new int[10][];
//1.初始化二维数组
for(int i = 0;i < yangHui.length;i++){
yangHui[i] = new int[i + 1];
}
//2.显式的为二维数组的每个元素赋值
for(int i = 0;i < yangHui.length;i++){
for(int j = 0;j < yangHui[i].length;j++){
yangHui[i][0] = yangHui[i][i] = 1;

			if(i > 1 && j > 0 && j < i){
				yangHui[i][j] = yangHui[i-1][j] + yangHui[i-1][j-1];
			}
		}
	}

	//遍历二维数组
	for(int i = 0;i < yangHui.length;i++){
		for(int j = 0;j < yangHui[i].length;j++){
			System.out.print(yangHui[i][j] + "\t");
		}
		System.out.println();
	}
}

}

package com.atguigu.java;

public class TestArray {
public static void main(String[] args) {

	//对于基于基本数据类型的变量创建的数组:byte short int long float double char boolean
	//1.对于byte short int long 而言:创建数组以后,默认值为0
	int[] scores = new int[4];
	
	scores[0] = 89;
	scores[3] = 90;
	for(int i = 0;i < scores.length;i++){
		System.out.println(scores[i]);
	}
	
	byte[] scores1 = new byte[4];
	scores1[0] = 89;
	scores1[3] = 90;
	for(int i = 0;i < scores1.length;i++){
		System.out.println(scores1[i]);
	}
	
	//2.对于float  double而言:默认值是0.0
	float[] f = new float[3];
	f[0] = 1.2F;
	for(int i = 0;i < f.length;i++){
		System.out.println(f[i]);
	}
	System.out.println();
	//3.对于char而言:默认为空格
	char[] c = new char[3];
	for(int i = 0;i < c.length;i++){
		System.out.println(c[i]);
	}
	System.out.println();
	//4.对于boolean而言:默认为false
	boolean[] b = new boolean[3];
	for(int i = 0;i < b.length;i++){
		System.out.println(b[i]);
	}
	//5.对于引用类型的变量构成的数组而言:默认初始化值为null。以String为例
	String[] strs = new String[4];
	strs[0] = "AA";
	strs[1] = "BB";
	//strs[2] = "CC";
	strs[3] = "DD";
	//遍历数组的元素
	for(int i = 0;i < strs.length;i++){
		System.out.println(strs[i]);
	}
	System.out.println();
	//另例
	Person[] pers = new Person[3];
	for(int i = 0;i < pers.length;i++){
		System.out.println(pers[i]);
	}
	//关于数组在内存中的结构(看ppt)
	
	int[] myInt = {12,13,14};
	
	int[] myInt1;
	myInt1 = new int[]{12,1,3,14};
}

}

class Person{

}

package com.atguigu.java;
/*

  • 数组一旦初始化,其长度是不可变的
    */
    public class TestArray1 {
    public static void main(String[] args) {
    int[] i = new int[]{12,13,14};

     int[] j = new int[10];
     for(int k = 0;k < i.length;k++){
     	j[k] = i[k];
     }
     
     j[3] = 15;
     j[4] = 16;
     
     
     for(int k = 0;k < j.length;k++){
     	System.out.println(j[k]);
     }
    

    }
    }

package com.atguigu.java;

public class TestArray2 {
public static void main(String[] args) {
int[] scores1 = new int[10];
int[][] scores2;
String[][] names;
//1.二维数组的初始化
scores2 = new int[][]{{1,2,3},{3,4,5},{6}};//静态初始化

	names = new String[6][5];//动态初始化的方式一
	names = new String[6][];//动态初始化的方式二
	names[0] = new String[5];
	names[1] = new String[4];
	names[2] = new String[7];
	names[3] = new String[5];
	names[4] = new String[8];
	names[5] = new String[5];
	
	//错误的初始化方式
	//names = new String[][];
	//names = new String[][5];
	
	//2.如何来引用具体的某一个元素
	int[][] i = new int[3][2];//int[] i[] = new int[3][2];
	i[1][0] = 90;
	i[2][1] = 100;
	//3.数组的长度
	//二维数组的长度:length属性
	System.out.println(i.length);//3
	//二维数组中元素的长度
	System.out.println(i[0].length);//2
	System.out.println(names.length);//6
	System.out.println(names[4].length);//8
	System.out.println();
	//4.如何遍历二维数组
	for(int m = 0;m < scores2.length;m++){//控制行数
		for(int n = 0;n < scores2[m].length;n++){
			System.out.print(scores2[m][n] + "  ");
		}
		System.out.println();
	}
	//5.内存结构
	
	int[] x,y[];
	//int[] x;//一维
	//int[] y[];//二维
	y = new int[3][2];
	x = y[0];
	x[0] = y[1][2];
}

}

package com.atguigu.java;

import java.util.Arrays;

/*

  • 1.求数组元素的最大值、最小值、平均数、总和等

2.数组的复制、反转

3.数组元素的排序

*/
public class TestArray3 {

public static void main(String[] args) {
	int[] arr = new int[] { 12, 43, 9, 0, -65, -99, 100, 9 };

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

	// 最小值
	int min = arr[0];
	for (int i = 1; i < arr.length; i++) {
		if (min > arr[i]) {
			min = arr[i];
		}
	}
	System.out.println("数组的最小值为:" + min);

	// 总和
	int sum = 0;
	for (int i = 0; i < arr.length; i++) {
		sum += arr[i];
	}
	System.out.println("总和为:" + sum);

	// 平均数
	int avg = 0;
	avg = sum / arr.length;
	System.out.println("平均值为:" + avg);

	// 数组的复制
	int[] arr1 = new int[arr.length];
	for (int i = 0; i < arr1.length; i++) {
		arr1[i] = arr[i];
	}
	// 数组元素的反转
	// for(int i = 0;i < arr.length/2;i++){
	// int temp = arr[i];
	// arr[i] = arr[arr.length-1 - i];
	// arr[arr.length - 1 - i] = temp;
	// }
	for (int x = 0, y = arr.length - 1; x < y; x++, y--) {
		int temp = arr[x];
		arr[x] = arr[y];
		arr[y] = temp;
	}
	System.out.println("反转以后:");
	// 遍历
	
	for (int i = 0; i < arr.length; i++) {
		System.out.print(arr[i] + "\t");
	}

// // 使用冒泡排序使数组元素从小到大排列
// for (int i = 0; i < arr.length - 1; i++) {
// for (int j = 0; j < arr.length - 1 - i; j++) {
// if (arr[j] > arr[j + 1]) {
// int temp = arr[j];
// arr[j] = arr[j + 1];
// arr[j + 1] = temp;
// }
// }
// }
// //使用直接选择排序使数组元素从小到大排列
// for(int i = 0; i < arr.length - 1; i++){
// int t = i;//默认i处是最小的
// for(int j = i;j < arr.length;j++){
// //一旦在i后发现存在比其小的元素,就记录那个元素的下角标
// if(arr[t] > arr[j]){
// t = j;
// }
// }
// if(t != i){
// int temp = arr[t];
// arr[t] = arr[i];
// arr[i] = temp;
// }
// }
Arrays.sort(arr);

	System.out.println("排序以后:");
	// 遍历
	for (int i = 0; i < arr.length; i++) {
		System.out.print(arr[i] + "\t");
	}
	
}

}

package com.atguigu.java;

public class TestException {
public static void main(String[] args) {
//1.数组下标越界的异常:java.lang.ArrayIndexOutOfBoundsException
int[] i = new int[10];
// i[0] = 90;
// i[10] = 99;

// for(int m = 0;m <= i.length;m++){
// System.out.println(i[m]);
// }
//2.空指针的异常:NullPointerException
//第一种:
// boolean[] b = new boolean[3];
// b = null;
// System.out.println(b[0]);

	//第二种:

// String[] str = new String[4];
// //str[3] = new String(“AA”);//str[3] = “AA”;
// System.out.println(str[3].toString());

	//第三种:
	int[][] j = new int[3][];
	j[2][0] = 12;
}

}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA基础day04 的相关文章

  • Error: Unable to find git in your PATH.

    周五打开as以及vs都可以正常编译项目 今天已编译就出这个Error Error Unable to find git in your PATH 最终在Github上找到答案 https github com flutter flutter

随机推荐

  • numpy中的mgrid函数

    mgrid函数返回多维结构 ret np mgrid 第1维 第2维 第3维 一维的表示是np mgrid 起点 终点 步长 二维的表示是np mgrid 起点 终点 步长 起点 终点 步长 当步长为实数时 表示按间隔来分 1表示从起点按0
  • RT-Thread记录(十八、I2C软件包 — 温湿度传感器 SHT21与EEPROM 24C02)

    本文学习测试一下几款典型设备的 RT Thread I2C软件包 目录 前言 一 RT Thread I2C 总线注册 1 1 I2C 设备使用步骤 1 2 检查问题 二 温湿度传感器软件包 2 1 添加及基本测试 2 2 程序中使用 三
  • Hive初始化报错:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver

    Hive初始化报错 org apache hadoop hive metastore HiveMetaException Failed to load driver 完整错误如下所示 org apache hadoop hive metas
  • GAN网络的重新学习的一些内容记录

    20211130 本篇文章属于自己在学习过程中的一些内容记录 正是因为对这些内容不理解 才有了这篇文章 同时会记录一些自己的思考 对与错请仔细斟酌 0 引言 经过了一年多 上次专门研究GAN是去年的时候 学习了基础的原理 也记录了一些文章
  • 架构-负载均衡

    互联网常见的分布式加构分层 1 客户端层 浏览器 APP 小程序 等 2 反向代理层 Nginx 3 站点层 web server 4 服务层 service dubbo webservic 5 数据层 DB 这五个分层的负载均衡策略 1
  • typescript版本的扫雷游戏设计(思路+代码)

    思路 生成图片矩阵 点击格子 如果 第一次 且 新游戏 生成除该格子外的雷图 统计数字 如果 该格子是雷 爆炸 否则 如果 格子数字是0 深度搜索0区域 加入展示区域 如果格子已经打开 忽略 如果格子标识旁边有雷 把该格子加入展示区域 打开
  • 动画程序时长缩放是什么意思_修手机的朋友说:安卓机这样设置,感受跟苹果一样的过渡动画...

    众所周知 IOS系统的过渡动画是出了名的丝滑 因为就在安卓系统挤破脑袋追求流畅时 苹果工程师竟然反其道而行的降低了手机响应频率 这就导致iPhone的使用者在不同页面和软件切换时能明显感知到一个从慢到快的过程 这项功能在原厂的安卓系统上是没
  • 值得一看的技术类书籍

    1 linux 书 Debug Hacks中文版 深入调试的技术和工具
  • C语言开发MicroPython模块(向module添加type)

    MicroPython向module添加type的方法 以及向type添加function的方法都是按照定义好的固定框架进行添加 module添加type的代码格式如下 include stdint h include stdio h in
  • M2芯片安装Anaconda和pytorch

    记录安装过程中遇到的问题 希望帮助到同样用mac的朋友 1 安装好Anaconda后 在启动台无法打开navigator 解决办法 终端输入 which anaconda navigator 返回navigator所在位置 command
  • SpringCloud Stream @EnableBinding注解过时

    EnableBinding源码中明确声明 该注解在从3 1版本开始被弃用 推荐我们使用函数编程的方式 我将给出一个生产者和消费者的使用案例 生产者案例 yml配置 server port 8801 spring application na
  • 最最最详细的springboot项目中集成微信扫码登入功能.步骤代码超级详细(OAuth2)

    说到登录注册 就会想到先要注册一个用户名 在进行登入 但是现在大多数的网站都集成了微信登入 不需要注册 给你一个二维码 微信一扫直接登录 这确实是十分便捷的 所以我们会尽量在项目中实现这一功能 减少用户操作 提高用户产品体验 由于微信是腾讯
  • MIPS架构下linux软浮点研究

    转自 http blog sina com cn s blog 67b113a10100zxx3 html 在嵌入式领域 为了节省成本和减少功耗 很多芯片都是没有浮点运算模块的 一般该模块叫做FPU float process unit 这
  • 爬虫写得好,牢饭吃到饱?

    先说一条新闻 一家专注大数据的数据服务提供商公司巧达科技 因为大量使用爬虫访问其他公司接口获取数据 整个公司被抓 最后不光管理者 干活的程序员也被抓了 很多学python的同学都接触过爬虫 即便是没接触过应该也听过 看到这种新闻你会不会心里
  • MySQL管理常用工具介绍

    1 mysql 该mysql不是指mysql服务 而是指mysql的客户端工具 e选项可以在Mysql客户端执行SQL语句 而不用连接到MySQL数据库再执行 对于一些批处理脚本 这种方式尤其方便 示例 2 mysqladmin mysql
  • 第一启富金:两大利空压顶 黄金受压收跌

    第一启富金官网显示 全球最大黄金上市交易基金 ETF 截至01月19日持仓量为976 21吨 较上日持平 本月止净增持0 55吨 香港第一金 投资者的注意力仍集中在美联储1月25日至26日的会议上 此前美联储官员暗示 他们将在3月开始加息以
  • Spring-MVC的文件上传下载,及插件的使用(让项目开发更节省时间)

    目录 一 概述 1 介绍 2 讲述 二 上传 三 下载 四 jrebel的使用 五 多文件上传 给我们带来什么收获 一 概述 1 介绍 Spring MVC的文件上传下载是指在Spring MVC框架中实现文件的上传和下载功能 文件上传是指
  • 【Python基础】深拷贝,浅拷贝和赋值

    浅拷贝 在含有多层对象的字典 列表 集合中 浅拷贝只拷贝父对象 不会拷贝父对象内部的可变子对象 语法 copy copy 深拷贝 只要被拷贝对象含有可变子对象 程序就会重新申请一块内存空间把被拷贝对象的值复制一份存放到该内存空间中 语法 c
  • 前端面试话术集锦第 15 篇:高频考点(React常考进阶知识点)

    这是记录前端面试的话术集锦第十五篇博文 高频考点 React常考进阶知识点 我会不断更新该博文 1 HOC 是什么 相比 mixins 有什么优点 很多人看到高阶组件 HOC 这个概念就被吓到了 认为这东西很难 其实这东西概念真的很简单 我
  • JAVA基础day04

    package com atguigu exer 1 创建一个名为TestArray的类 在main 方法中声明array1和array2两个变量 他们是int 类型的数组 2 使用大括号 把array1初始化为8个素数 2 3 5 7 1