Java学习 (二)关键字、标识符、数组

一、关键字

我们第一章案例中有很多关键字,比如class、public、static、void等,这些关键字依旧被java定义好了,可以拿来用,不需要死记硬背,按照官方文档查询即可

#官方文档
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
常用关键字

二、标识符

  上面的关键字的定义好的,那么标识符就是我们自定义的,通常来说我们称之为变量

比如说我们在定义class类的时候,是不是都是随便起名 比如class  xxx  这个就是变量(标识符)  但是标识符的定义需要遵循一定的命名规则,如下

1、 标识符命名规则

由26个英文字母大小写  0-9   下划线_   或者$ 组成
不可以数字开头
不可以使用关键字,但是能包含关键字
java中严格区分大小写,长度无限制
标识符不能包含空格

2、标识符命名格式

数据类型  变量名  = 变量值

案例

char gender  变量初始化  #java语言必须要先定于变量名,才能使用
gender = ‘男’  变量赋值

3、基本数据类型

整型  byte  short  int long
浮点型 float  double
字符型 chart
布尔型   boolean
#引用数据类型,现在不用了解类  class
数组 array
接口  interface
枚举   enum
注解  annotation
记录   record
1、整型的数据范围

计算机存储单位

2、浮点类型范围

浮点数  不适合在精确小数点的环境,比如银行,舍弃的小数点也是很多钱

BigDecimal 来替换浮点

3、字符型

4、布尔值

4、运算符规则

当容量小的数据类型和容量大的数据类型做运算时,结果自动转换为容量大的数据类型

案例

int i1 = 10
long l1 = i1
float f1 = l1
double d1 = f1

 此时的容量小或者大,不是说内存空间的大小,而是表示数据范围的大小,long(8字节)  float(4字节),int 是4字节可以把数据赋值给long 8字节,float 比long的范围还要大,那么long可以赋值给float

三、数组

数组是多个相同类型数据,按照一定顺序排序的集合,并使用一个名字命名,并通过编号的方式对这些数据统一管理

1、数组定义

案例1 数组定义 初始化值
int num1 = 10;
int num2;
num2 = 20#声明数组
double[] prices;#声明什么new什么 初始化步骤
prices = new double[]{1.1,2.2,3.3} #初始化 并赋值
 案例2
String[] fods;
foods = new String[]{"你好","你好2","你好3"}
案例3
#不指定数组元素 指定长度
String[] foods =  new String[4]; #如果不带花括号,可以直接写数字#表示能存放的大小,后续在添加数组的值

案例1和案例2 是静态,数组变量的初始化与数组元素的操作同时进行
案例3 是动态的  #数组变量的赋值与数组元素赋值操作分开

案例1和案例2定义的值就是数组的长度

小结
数组一旦初始化完成,数组的长度就确定了,并且不可更改静态定义 写花括号里
int[] arr1 = new int[]{1,2,3,4}
动态 写大括号里
int arr[] = new int[4]

2、数组元素调用

1、获取索引位值

int[] arr1 = new int[]{1,2,3,4}#调用
arr1[0]  #从0 开始
arr1[1]
arr1[2]
arr1[3]

2、给索引位赋值

int[] arr1 = new int[4]#赋值
arr1[0] = 555
arr1[0] = 666

3、获取数组长度

int[] arr1 = new int[4]#获取数组容量大小
arr1.length

4、如何遍历数组

int[] arr1 = new int[4]
for (int i = 0; i <= 4; i ++){System.out.println(arr1[i])
}或者
for (int i = 0; i <= prices.length; i ++){System.out.println(arr1[i])
}

5、数组元素默认初始化值

int[] arr1 = new int[4]
System.outprintln(arr1[0])此时默认值是什么整型    0
浮点型 0.0
字符型  0 
字符串   null
布尔类型  false

3、多维数组格式

#定义一维数组
int[] arr1 = new int[]{1,2,3};#定义二维数组 静态
int[][] arr2 = new int[][]{{1,2,3},{4,5,6}};#定义动态二维数组
#可以定义3个子数组(元素)
#每个子数组里面可以放4个元素
String[][] arr3 = new String[3][4]; #动态二维数组2
#将第二个置空
#置空表示没设置上线,写入的时候根据写入的元素决定
String[][] arr3 = new String[3][]; 

关于数组的写法  

int[][] arr5 = 
int[] arr5[] =
int arrt5[][] =这3种写法都是堆的类型推断
#写的时候如果是在一行,并且带有值的时候
#可以把右边的new int[][] 去掉,也是可以的
int[][] arr2 = {{1,2,3},{4,5,6}};

二维数组的调用

int[][] arr2 = {{1,2,3},{4,5,6}};#调用内层元素
arr2[0][0]  #第一个数组的第一个元素
arr2[1][2]  #第二个数组的第三个元素2#我们调用的时候如果不指定内存元素
#只指定第一个数组,那么只会打印数组的内存地址
arr2[1]#如果是普通数据升级为二维数组
arr4[0]   = new int[4]  #给数组添加一个子数组

二维数组的长度

#定义二维数组 静态
int[][] arr2 = new int[][]{{1,2,3},{4,5,6}};arr2.length  是2 因为有2个元素
arr2[0].length  是3 因为数组1有3个元素

如何遍历二维数组

int[][] arr2 = new int[][]{{1,2,3},{4,5,6}};for (int i = 0; i < arr2.length; i++){for (int j = 0; j < arr2[i].length; i++){System.out.println(arr2[i][j])
}

二维数组的默认值

#动态初始化方法1
int[][] arr2 = new int[3][2]#外层元素默认值
System.out.println(arr2[0]) 内存地址值
System.out.println(arr2[0])
#内层元素默认值
System.out.println(arr2[0][]) //0#动态初始化方法2
int[][] arr2 = new int[3][]#外层元素默认值
System.out.println(arr2[0]) //null
#内层元素默认值
System.out.println(arr2[0][]) //报错,空指针,因为光有栈名称,没有堆的具体数

4、数组案例

1、写出一维数组初始化的两种方式

int[] arr = new int[5];//动态初始化String[] arr1 = new String[]{"Tom","Jerry","Jim"};//静态初始化//数组一旦初始化,其长度就是确定的。arr.length
//数组长度一旦确定,就不可修改。

2、写出二维数组初始化的两种方式

int[][] arr = new int[4][3];//动态初始化1
int[][] arr1 = new int[4][];//动态初始化2int[][] arr2 = new int[][]{{1,2,3},{4,5,6},{7,8}};//静态初始化

3、不同类型的一维数组元素的默认初始化值各是多少

整型 : 0
浮点型:0.0
char:0
boolean :false
引用类型:null

4、遍历如下的二维数组

int[][] arr = new int[][]{{1,2,3},{4,5},{6,7,8}};

public class Exercise1 {public static void main(String[] args) {int[][] arr = new int[][]{{1,2,3},{4,5},{6,7,8}};for(int i = 0;i < arr.length;i++){for(int j = 0;j < arr[i].length;j++){System.out.print(arr[i][j] + "\t");}System.out.println();}}   
}

5、小组学员姓名

用一个数组存储本组学员的姓名,先从键盘输入小组人数,再从键盘输入每一个学员的姓名,然后遍历显示。

import java.util.Scanner;public class Exercise2 {public static void main(String[] args) {//用一个数组存储本组学员的姓名//元素的类型是String,长度是多少?//长度的确定:(1)根据自己小组定(2)可以从键盘输入Scanner input = new Scanner(System.in);System.out.print("请输入小组的人数:");int count = input.nextInt();//声明数组并且初始化String[] names = new String[count];//此时names数组中都是默认值nullfor(int i=0; i<names.length; i++){System.out.print("请输入第"+ (i+1) + "个同学的姓名:");names[i] = input.next();}//全部输入完后显示System.out.println("本组学员的姓名如下:");for(int i=0; i<names.length; i++){System.out.print(names[i] + "\t");}System.out.println();input.close();}
}

6、统计低于平均分的学生人数

先从键盘输入本组学员的人数,再从键盘输入本组学员的姓名和成绩,最后统计:

  • 本组学员的平均分,

  • 低于平均分的学员人数,

  • 哪些学员低于平均分,

  • 最高分和最低分分别是谁。

import java.util.Scanner;public class Exercise3 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请录入本组学员人数:");int count = input.nextInt();int[] grades = new int[count];String[] names = new String[count];for (int i = 0; i < grades.length; i++) {System.out.print("第" + (i+1) + "个学员的姓名:");names[i] = input.next();System.out.print("第" + (i+1) + "个学员的成绩:");grades[i] = input.nextInt();}input.close();//学员姓名和成绩System.out.println("所有学员的成绩如下:");for (int i = 0; i < names.length; i++) {System.out.println(names[i] + ":" + grades[i]);}//找出最高分、最低分、累加总分,计算平均分int max = grades[0];int min = grades[0];double sum = 0;for (int i = 1; i < grades.length; i++) {if(grades[i] > max){max = grades[i];}if(grades[i] < min){min = grades[i];}sum += grades[i];}double avg = sum/grades.length;//输出结果System.out.println("最高分成绩是:" + max);System.out.println("最第分成绩是:" + min);System.out.println("平均分成绩是:" + avg);System.out.println("获得最高分的有:");for (int i = 0; i < names.length; i++) {if(max == grades[i]){System.out.println(names[i]);}}System.out.println("获得最第分的有:");for (int i = 0; i < names.length; i++) {if(min == grades[i]){System.out.println(names[i]);}}System.out.println("低于平均分的有:");int total = 0;for (int i = 0; i < names.length; i++) {if(grades[i] < avg){System.out.println(names[i]);total++;}}System.out.println("低于平均分的一共有:" + total +"人");}
}

7、一年12个月的存储

用一个数组,保存12个月的英语单词,从键盘输入1-12,显示对应的单词。

{"January","February","March","April","May","June","July","August","September","October","November","December"}

import java.util.Scanner;public class Exercise4 {public static void main(String[] args) {String[] monthNames = {"January","February","March","April","May","June","July","August","September","October","November","December"};Scanner input = new Scanner(System.in);System.out.print("请输入月份值:");int month = input.nextInt();if(month <1 || month> 12){System.out.println("输入有误");}else{System.out.println("月份" + month +"是" + monthNames[month-1]);}input.close();}
}

8、随机产生偶数并排序

随机产生10个[1,100]之间的偶数存储到数组中,并按照从小到大排序输出。

public class Exercise5 {public static void main(String[] args) {int[] arr = new int[10];//随机产生10个[1,100]的偶数for (int i = 0; i < arr.length; i++) {/*Math.random():[0,1)的小数Math.random()*50:[0,50)的小数Math.random()*50+1:[1,51)的小数(int)(Math.random()*50 + 1):[1,51)的整数,即[1,50]的整数(int)(Math.random()*50 + 1) * 2 : [1,100]的偶数*/arr[i] = (int)(Math.random()*50 + 1) * 2;}//排序for (int i = 1; i < arr.length; i++) {for(int j=0; j<arr.length - 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; i++) {System.out.println(arr[i]);}}
}

9、正序、逆序遍历英文字母

要求使用char数组存储26个英文字母,并分别用正序和逆序方式显示输出。要求10个一行。
public class Exercise6 {public static void main(String[] args) {char[] letters = new char[26];for (int i=0; i<letters.length; i++){letters[i] = (char)('a' + i);}System.out.println("小写字母的正序排序:");int count = 0;for (int i = 0; i <letters.length; i++) {count++;if(count == 10 || i == letters.length-1){System.out.println(letters[i]);count = 0;}else if(count < 10) {System.out.print(letters[i]+",");}}System.out.println("小写字母的逆序排序:");count = 0;for (int i = letters.length-1; i >= 0; i--) {count++;if(count == 10 || i == 0){System.out.println(letters[i]);count = 0;}else if(count < 10) {System.out.print(letters[i]+",");}}}
}

10、查找满分学员

先从键盘输入本组学员的人数,再从键盘输入本组学员的姓名和成绩,显示学员姓名和成绩。最后查找是否有满分(100)学员,如果有显示姓名,否则显示没有满分学员。

import java.util.Scanner;public class Exercise7 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请录入本组学员人数:");int count = input.nextInt();int[] grades = new int[count];String[] names = new String[count];for (int i = 0; i < grades.length; i++) {System.out.print("第" + (i+1) + "个学员的姓名:");names[i] = input.next();System.out.print("第" + (i+1) + "个学员的成绩:");grades[i] = input.nextInt();}input.close();//输出学员姓名和成绩System.out.println("所有学员的成绩如下:");for (int i = 0; i < names.length; i++) {System.out.println(names[i] + ":" + grades[i]);}//查找满分学员System.out.println("本班满分学员:");boolean flag = false;for(int i=0; i<grades.length; i++){if(grades[i] == 100){System.out.println(names[i]);flag = true;}}if(!flag){System.out.println("没有");}}
}

11、随机生成大乐透

模拟大乐透号码:- 一组大乐透号码由10个1-99之间的随机数字组成,可以重复
- 打印大乐透号码信息
public class Exercise8 {public static void main(String[] args) {//1、声明并创建数组int[] arr = new int[10];//2、为元素赋值java.util.Random rand = new java.util.Random();for (int i = 0; i < arr.length; i++) {arr[i] = rand.nextInt(99)+1;}//3、输出for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}}}

 12、升级大乐透

大乐透(前区“35选5”+后区“12选2”),即前区在1-35之间的号码中随机选取5个,后区在1-12之间的号码中随机选取2个,组成一期的中奖号码,请用程序模拟产生一组大乐透中奖号码。

开发提示:

  • 声明一个int类型的数组front,长度为35,默认值都是0;

  • 声明一个int类型的数组after,长度为12,默认值都是0;

  • 随机产生[0,35)之间的整数。如果随机产生的是0,那么就把front[0]修改为1,如果随机产生的是5,那么就把front[5]修改为1,如果随机产生的是10,就把front[10]修改为1。但是如果本次随机产生的是5,而front[5]已经是1了,那么需要重新随机产生一个整数。用这种方式把front数组的5个元素修改为1。

  • 随机产生[0,12)之间的整数。使用同样的方式,把after数组的2个元素修改为1。

  • 遍历front和after数组,输出大乐透中奖号码,判断front和after数组元素是否为1,如果为1,就显示它的下标+1值。

public class Exercise9 {public static void main(String[] args) {int[] front = new int[35];int[] after = new int[12];for (int i = 1; i <=5; i++) {/*Math.random():[0,1)的小数Math.random() * front.length:[0,front.length)的小数(int)(Math.random() * front.length):[0,front.length)的整数,[0,front.length-1]*/int index;do{index = (int)(Math.random() * front.length);}while(front[index]==1);front[index] = 1;}for (int i = 1; i <=2; i++) {int index;do{index = (int)(Math.random() * after.length);}while(after[index]==1);after[index] = 1;}System.out.println("本期大乐透中奖号码:");System.out.print("前区号码为:");for (int i = 0; i < front.length; i++) {if(front[i] == 1){System.out.print(i+1+"\t");}}System.out.print("\n后区号码为:");for (int i = 0; i < after.length; i++) {if(after[i] == 1){System.out.print(i+1+"\t");}}System.out.println();}
}

13、判断单词是否是回文单词

从键盘输入一个单词,判断它是否是回文单词。开发提示:
- 从键盘输入一个单词,存放到一个String类型的变量word中
- 通过word.toCharArray()可以根据字符串word得到一个char[]类型的数组。其中toCharArray()是String类型提供的系统函数,就像Math.random()等函数一样,后面会学到,这里先提前用一下。它的作用就是创建一个char[]数组,并把字符串中的每一个字符依次存储到这个char[]数组中。Scanner input = new Scanner(System.in);System.out.print("请输入一个英语单词:");String word = input.next(); //假如输入的英语单词是momchar[] wordCharArray = word.toCharArray(); // wordCharArray字符数组内容是{'m','o','m'}
/*** @author 尚硅谷-宋红康* @create 19:39*/
public class Exercise10 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("请输入一个英语单词:");String word = input.next(); //假如输入的英语单词是mominput.close();char[] wordCharArray = word.toCharArray(); // wordCharArray字符数组内容是{'m','o','m'}//(1)先假设它是对称的boolean flag = true;//(2)遍历,查看数组的元素是否首尾对称//left表示左边的下标//right表示右边的下标for(int left=0,right=wordCharArray.length-1; left<right; left++,right--){if(wordCharArray[left] != wordCharArray[right]){flag = false;break;}}if(flag){System.out.println(word + "是回文单词");}else{System.out.println(word + "不是回文单词");}}
}

14、寻找锦鲤

公司年会有一个寻找锦鲤的游戏,每一个员工随意写一个字,如果在“锦鲤”词库中有这个字,那么就奖励500元锦鲤红包,否则就没有,每人只能玩一次。

现有锦鲤字库如下,它们按照Unicode编码值从小到大排序:

char[] koiFishWords = {'一','今','地','定'};

public class Exercise11 {public static void main(String[] args) {char[] koiFishWords = {'一','今','地','定'};Scanner input = new Scanner(System.in);System.out.print("请输入一个字:");char word = input.next().charAt(0);input.close();int index = -1;for(int left = 0,right = koiFishWords.length-1; left<=right; ){//int mid = (left+right)/2;int mid = left + (right-left)/2;if(koiFishWords[mid] == word){index = mid;break;}else if(word > koiFishWords[mid]){//说明target在[mid]右边left = mid+1;}else{//说明target<arr[mid],target在[mid]左边right= mid-1;}}if(index!=-1){System.out.println("你是锦鲤!!!恭喜获得锦鲤红包500元");}else{System.out.println("o(╥﹏╥)o");}}
}

15、绳子覆盖点

import java.util.Arrays;public class Exercise12 {public static void main(String[] args) {double[] arr = new double[10];for (int i = 0; i < arr.length-1; i++) {arr[i] = Math.random() * 100;//[0,100)之间的小数}arr[arr.length-1] = 0;System.out.println("直线上每一个点距离下一个点的距离:"+Arrays.toString(arr));double length = 150.5;int count = 0;double sum = 0;for (int i = 0; i < arr.length; i++) {sum += arr[i];if(sum<=length) {count++;}else {break;}}System.out.println("长度为:" + length + "的绳子最多能覆盖" +count+"个点");}
}

 

16、学生成绩统计

需求:保存全班的每个组的成绩,并对成绩做统计

使用二维数组保存全班的每个组的成绩,

  • 从键盘输入一共有几组

  • 从键盘输入每一组分别有多少人

  • 从键盘输入每一个同学的成绩

并对成绩做如下统计:

  • 统计每一组的最高分、最低分

  • 统计每一组的平均分

  • 统计全班的最高分、最低分

  • 统计全班的平均分

  • 统计全班的总人数

 

public class Exercise13 {public static void main(String[] args){java.util.Scanner input = new java.util.Scanner(System.in);//(1)从键盘输入一共有几组,确定二维数组的行数System.out.print("请输入一共有几组:");int group = input.nextInt();//(2)创建二维数组,并确定行数int[][] arr = new int[group][];//(3)从键盘输入每一组分别有多少人,确定每一行的列数for(int i=0; i<arr.length; i++){System.out.print("请输入第" + (i+1) + "组有几个人:");arr[i] = new int[input.nextInt()];//(4)从键盘输入每一个同学的成绩for(int j = 0; j<arr[i].length; j++){System.out.print("请输入第" + (j+1) + "个组员的成绩:");arr[i][j] = input.nextInt();}}//(4)显示成绩表System.out.println("每组成绩如下:");for(int i=0; i<arr.length; i++){for(int j=0; j<arr[i].length; j++){System.out.print(arr[i][j] + "\t");}System.out.println();}/*4. 统计每一组的最高分、最低分5. 统计每一组的平均分6. 统计全班的最高分、最低分7. 统计全班的平均分8. 统计全班的总人数*/int[] groupMax = new int[group];//有几组就有几个元素int[] groupMin = new int[group];double[] groupAvg = new double[group];int max = -1;//全班的最高分int min = 101;//全班的最低分,假设成绩的范围是[0,100]double sum = 0;int count = 0 ;//把每一组的最高分,最低分,都初始化为特殊值for(int i=0; i<group; i++){groupMax[i] = -1;groupMin[i] = 101;}//统计for(int i=0; i<arr.length; i++){double groupSum = 0;//每一组累加总分,都是从0开始for(int j=0; j<arr[i].length; j++){if(arr[i][j] > groupMax[i]){//找每组的最高分groupMax[i] = arr[i][j];}if(arr[i][j] < groupMin[i]){//找每组的最低分groupMin[i] = arr[i][j];}if(arr[i][j] > max){//找全班的最高分max = arr[i][j];}if(arr[i][j] < min){//找全班的最低分min = arr[i][j];}groupSum += arr[i][j];//累加每一组的总分sum += arr[i][j];//累加全部的总分count++;//累加总人数}//每一组的平均分 = 每一组的总分/每一组的人数groupAvg[i] = groupSum / arr[i].length;}//全部的平均分 = 全部的总分 / 总人数double avg = sum / count;System.out.println("全班的最高分:" + max);System.out.println("全班的最低分:" + min);System.out.println("全班的平均分:" + avg);System.out.println("全班的总人数:" + count);for(int i=0; i<arr.length; i++){System.out.println("第" + (i+1) + "组的最高分:" + groupMax[i]);System.out.println("第" + (i+1) + "组的最低分:" + groupMin[i]);System.out.println("第" + (i+1) + "组的平均分:" + groupAvg[i]);}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/32492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

瑞吉外卖问题(待更新...

文章目录 一、session注册时二、用户增加时三、RequestBody3.1 Long问题3.2 RequestBody3.3 UpdataById 一、session注册时 刚开始使用的是该代码 httpServletRequest.setAttribute("employee",emp.getId());导致我点击登录后&#xff0c;还是一直在登录页面&#x…

1970-2022年中国碳排放1KM栅格数据

【数据简介】 数据名称&#xff1a;1970-2022年中国碳排放栅格数据&#xff08;1KM) 区域范围&#xff1a;全国 数据格式&#xff1a;tif文件 数据大小:800M 数据来源&#xff1a;欧盟委员会全球大气排放数据库&#xff08;EDGAR) 部分数据预览&#xff1a; 原文链接http…

InfoMasker :新型反窃听系统,保护语音隐私

随着智能手机、智能音箱等设备的普及&#xff0c;人们越来越担心自己的谈话内容被窃听。由于这些设备通常是黑盒的&#xff0c;攻击者可能利用、篡改或配置这些设备进行窃听。借助自动语音识别 (ASR) 系统&#xff0c;攻击者可以从窃听的录音中提取受害者的个人信息&#xff0c…

技术师增强版,系统级别的工具!【不能用】

数据安全是每位计算机用户都关心的重要问题。在日常使用中&#xff0c;我们经常面临文件丢失、系统崩溃或病毒感染等风险。为了解决这些问题&#xff0c;我们需要可靠且高效的数据备份与恢复工具。本文将介绍一款优秀的备份软件&#xff1a;傲梅轻松备份技术师增强版&#xff0…

RAG | (ACL24规划-检索增强)PlanRAG:一种用于生成大型语言模型作为决策者的规划检索增强生成方法

原文&#xff1a;PlanRAG: A Plan-then-Retrieval Augmented Generation for Generative Large Language Models as Decision Makers 地址&#xff1a;https://arxiv.org/abs/2406.12430 代码&#xff1a;https://github.com/myeon9h/PlanRAG 出版&#xff1a;ACL 24 机构: 韩国…

HTML(19)——Flex

Flex布局也叫弹性布局&#xff0c;是浏览器提倡的布局模型&#xff0c;非常适合结构化布局&#xff0c;提供了强大的空间分布和对齐能力。 Flex模型不会产生浮动布局中脱标现象&#xff0c;布局网页更简单、更灵活。 Flex-组成 设置方式&#xff1a;给父元素设置display:fle…

字节跳动最终面,面试官抛出一个“Flutter”我居然懵了

由于在业务开发过程中&#xff0c;开发者大部分的时间都专研于一种编程语言&#xff0c;如果想要掌握多端开发能力&#xff0c;则又稍显力不从心&#xff0c;因此大前端的概念应运而生。 大前端概念对于编程开发者来说早已耳熟能详&#xff0c;从我的角度来理解这个概念的话&a…

国企:2024年6月中国移动相关招聘信息 二

在线营销服务中心-中国移动通信有限公司在线营销服务中心 硬件工程师 工作地点:河南省-郑州市 发布时间 :2024-06-18 截至时间: 2024-06-30 学历要求:本科及以上 招聘人数:1人 工作经验:3年 岗位描述 1.负责公司拾音器等音视频智能硬件产品全过程管理,包括但…

HTML静态网页成品作业(HTML+CSS)——动漫猪猪侠网页(4个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有4个页面。 二、作品演示 三、代…

黑马HarmonyOS-NEXT星河版实战

"黑马HarmonyOS-NEXT星河版实战"课程旨在帮助学员深入了解HarmonyOS-NEXT星河版操作系统的开发和实际应用。学员将学习操作系统原理、应用开发技巧和界面设计&#xff0c;通过实战项目提升技能。课程注重实践与理论相结合&#xff0c;为学员提供全面的HarmonyOS开发经…

Pytho字符串的定义与操作

一、字符串的定义 Python 字符串是字符的序列&#xff0c;用于存储文本数据。字符串可以包括字母、数字、符号和空格。在 Python 中&#xff0c;字符串是不可变的&#xff0c;这意味着一旦创建了一个字符串&#xff0c;就不能更改其中的字符。但是&#xff0c;你可以创建新的字…

【广度优先搜索 深度优先搜索 图论】854. 相似度为 K 的字符串

本文涉及知识点 广度优先搜索 深度优先搜索 图论 图论知识汇总 深度优先搜索汇总 CBFS算法 LeetCode 854. 相似度为 K 的字符串 对于某些非负整数 k &#xff0c;如果交换 s1 中两个字母的位置恰好 k 次&#xff0c;能够使结果字符串等于 s2 &#xff0c;则认为字符串 s1 和…

软件工程考试题备考

文章目录 前言一、二、1.2 总结 前言 一、 B D C 类图、对象图、包图 其他系统及用户 功能需求 用例 人、硬件或其他系统可以扮演的角色7. D C 数据 原型/系统原型;瀑布 A 功能;功能需求 D 数据存储;圆形/圆角矩形;矩形 C T;T;F C C B C D C …

字节跳动+京东+360+网易+腾讯,那些年我们一起踩过算法与数据结构的坑!(1)

**二面&#xff1a;**已知一棵树的由根至叶子结点按层次输入的结点序列及每个结点的度&#xff08;每层中自 左到右输入&#xff09;&#xff0c;试写出构造此树的孩子-兄弟链表的算法。 **三面主管面&#xff1a;**已知一棵二叉树的前序序列和中序序列分别存于两个一维数组中&…

Part 8.2 最短路问题

很多题目都可以转化为最短路的模型。因此&#xff0c;掌握最短路算法非常重要。 >最短路模板< 【模板】全源最短路&#xff08;Johnson&#xff09; 题目描述 给定一个包含 n n n 个结点和 m m m 条带权边的有向图&#xff0c;求所有点对间的最短路径长度&#xff…

Java学习 - 网络IP协议簇 讲解

IP协议 IP协议全称 Internet Protocol互联网互连协议 IP协议作用 实现数据在网络节点上互相传输 IP协议特点 不面向连接不保证可靠 IP协议数据报结构 组成说明版本目前有IPv4和IPv6两种版本首部长度单位4字节&#xff0c;所以首部长度最大为 15 * 4 60字节区分服务不同…

【STM32-启动文件 startup_stm32f103xe.s】

STM32-启动文件 startup_stm32f103xe.s ■ STM32-启动文件■ STM32-启动文件主要做了以下工作&#xff1a;■ STM32-启动文件指令■ STM32-启动文件代码详解■ 栈空间的开辟■ 栈空间大小 Stack_Size■ .map 文件的详细介绍■ 打开map文件 ■ 堆空间■ PRESERVE8 和 THUMB 指令…

前端实现对本地文件的IO操作

前言 在网页中&#xff0c;前端已经可以读取本地文件系统&#xff0c;对本地的文件进行IO读写&#xff0c;甚至可以制作一个简单的VScode编辑器。这篇文章以渐进式方式实现此功能&#xff0c;文末附上所有代码。 首先看整体功能演示 功能概述 我们将实现一个简单的 Web 应…

LabVIEW在脑机接口(BCI)研究中的应用

脑机接口&#xff08;Brain-Computer Interface&#xff0c;BCI&#xff09;技术通过解读大脑活动&#xff0c;将人类思维与计算机或其他设备连接起来&#xff0c;广泛应用于神经康复、认知研究和人机交互等领域。LabVIEW作为强大的图形化编程环境&#xff0c;在BCI研究中发挥着…

数据结构十三:2 - 3树和红黑树

一开始就接触这五点&#xff0c;会让人云里雾里&#xff0c;不利于了解这个数据结构。因为这种先给定义在推导的方式并不适合学习。它没有介绍红黑树的来源&#xff0c;而只是给你生硬的定义。 而学习红黑树的最好学习资料就是大名鼎鼎的《算法4》&#xff0c;如下&#xff1a…