一、10.29周报
1、一周的总结
1、Java介绍
-
JDK(Java Development Kit)java开发工具包,是针对Java开发员的产品,是整个Java的核心。
-
JRE(Java Runtime Environment)Java运行环境,包含jre标准实现及Java核心类库,jre是Java运行环境。
-
JVM(Java Virtual Machine)java虚拟机,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
-
JDK>JRE>JVM
2、命名规则
- 名称只能由字母、数字、下划线、$符号组成
- 不能以数字开头
- 名称不能使用JAVA中的关键字。
- 坚决不允许出现中(能用英文不要用拼音)
- 不能重复命名
3、注释类型
// | 单选注释 |
---|---|
/ / | 块注bai释可以跨bai多行 |
/ /* | javadoc注释,可以跨多行, 生成javadoc时,这样的注释会被生成标准的javaapi注释。 |
4、数据类型
byte | 1字节 | -128(-27)—127(27-1) |
---|---|---|
short | 2字节 | -32768(-2^15)— 32767(2^15-1) |
int | 4字节 | -2,147,483,648(-231)—2,147,483,647(231 - 1) |
long | 8字节 | -9,223,372,036,854,775,808(-2^63)— 9,223,372,036,854,775,807(2^63 -1) |
float | 4字节 | 单精度 |
double | 8字节 | 双精度(浮点数的默认类型为double类型) |
boolean | 1字节 | 布尔型 只有两个取值true 和 false |
char | 2字节 | 字符节 |
正数的原码反码和补码都是本身
负数的反码除了符号位其余取反 补码=反码+1
5、逻辑运算
(1)、与 、或、非、异或
class HelloWorld{
public static void main(String args[]){
boolean flag = true;
boolean flag2 = false;
// 与 有一个为假,结果就是假
System.out.println(flag & flag2);
// 或 有一个是真,结果就是真
System.out.println(flag | flag2);
// 非 取反
System.out.println(!flag);
// 异或 相同为假,不同为真
System.out.println(flag ^ flag2)
}
}
(2)
&& | 短位运算符前面是false 结果都是false |
---|---|
|| | 短位运算符前面是ture结果都是true |
< | 小于 |
> | 大于 |
>= | 大于等于 |
<= | 小于等于 |
== | 等于 |
!= | 不等于 |
6、算数运算
+ | 相加 |
---|---|
- | 相减 |
***** | 相乘 |
/ | 相除 |
% | 取余 |
++ | 写在前边 是先运算出结果赋值后执行其他 ,写在后边 先执行在赋值 |
– | 写在前边 是先运算出结果赋值后执行其他 ,写在后边 先执行在赋值 |
+= | count = count+5 等于 count += 5; |
-= | count = count-5 等于 count -= 5; |
*= | *count = count*5 等于 count = 5; |
/= | count = count/5 等于 count /= 5; |
7、三目运算
// condition ? result1 : result2
int res = 4>5 || true ? 6 : 9;
System.out.println(res);
// 结果为6
8、 位移运算符
// 位移运算符
// << num * 2^2 不要溢出前边的1
// >> num / 2^n 不要溢出末尾的1
// 向右移2位
int a = 8 >> 2;
System.out.println(a);
9、类型转换
short num3 = 130;
byte num4 = (byte)num3;
System.out.println(num4);
byte num5 = 102;
short num6 = num5;
System.out.println(num6);
10、输入语句
// 引入我想要的东西
import java.util.Scanner;
public class Text{
public static void main(String args[]){
// 创建一个scanner
// System.in是系统标准输入
Scanner scanner = new Scanner(System.in);
//程序会等着程序员输入一个数字
int i = scanner.nextInt();
System.out.println(i);
// 字符串 多个字符串用+来表示
String s = "hello"+"world";
System.out.println(s);
}
}
11、if语句
// 引入我想要的东西
import java.util.Scanner;
public class Text{
public static void main(String args[]){
// 创建一个scanner
// System.in是系统标准输入
Scanner scanner = new Scanner(System.in);
//程序会等着程序员输入一个数字
int i = scanner.nextInt();
System.out.println(i);
if (i<4){
System.out.println("您输入的数字小于4");
} else if(i >= 4 & i< 10) {
System.out.println("您输入的数大于4小于10");
}else {
System.out.println("您输入的数大于10");
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WaD9N0L0-1604382275481)(D:\欣知\教学日志\10.29周报.assets\image-20201024170932430.png)]
12、switch语句
// 引入我想要的东西
import java.util.Scanner;
public class Text{
public static void main(String args[]){
// 创建一个scanner
// System.in是系统标准输入
Scanner scanner = new Scanner(System.in);
//程序会等着程序员输入一个数字
int i = scanner.nextInt();
switch (i){
case 1:
System.out.println("查询话费");
break;
case 2:
System.out.println("查询流量");
break;
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q3U6vv1y-1604382275484)(D:\欣知\教学日志\10.29周报.assets\image-20201024171911414.png)]
13、循环语句
1、while语句
// 引入我想要的东西
import java.util.Scanner;
public class Text{
public static void main(String args[]){
// 一直会执行
int i = 10;
while (i> 0){
System.out.println(i);
i--;
}
System.out.println("执行完了");
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5fvlBIrh-1604382275487)(D:\欣知\教学日志\10.29周报.assets\image-20201024172811867.png)]
2、do while语句
// 引入我想要的东西
import java.util.Scanner;
public class Text{
public static void main(String args[]){
// 一直会执行
int i = 10;
// 先判断一下是不是满足条件,然后执行
while (i > 0) {
i--;
System.out.println(i);
}
System.out.println("-----------------------");
// 先执行一下,然后判断,看看要不要继续执行
do {
i--;
System.out.println(i);
}
while (i> 0);
System.out.println("执行完了");
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ri73qJds-1604382275489)(D:\欣知\教学日志\10.29周报.assets\image-20201024175230456.png)]
3、for语句
import java.util.Scanner;
public class Text{
public static void main(String args[]){
for (int i = 0;i < 10;i++){
System.out.println(i);
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W0QvF9VL-1604382275492)(D:\欣知\教学日志\10.29周报.assets\image-20201024174900688.png)]
4、关键字
(1)break和continue
// 引入我想要的东西
import java.util.Scanner;
public class Text{
public static void main(String args[]){
// 结束当前循环
for (int j = 1;j <= 100;j++){
if(j == 10){
break;
}
System.out.println(j);
}
System.out.println("------------------");
// 跳过本次循环,继续执行下一次循环
for (int j = 1;j <= 100;j++){
if(j == 10){
continue;
}
System.out.println(j);
}
}
}
// for循环可以打标签,break 标签名可以打断任何标签
flag:for (int i = 1;i<= 100;i++){
for (int j = 1;j <= 100;j++){
if(j == 10){
break flag;
System.out.println(j);
}
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TbS8dbjk-1604382275495)(D:\欣知\教学日志\10.29周报.assets\image-20201024181631460.png)]
14、数组的定义
// 类型[] 名字 = new int[3];
int[] nums = new int[3];
nums [0] = 1
nums [1] = 2
nums [2] = 3
// 定义和赋值在一起
int[] nums = {1,2,3,4};
15、数组的性质
- 数组一旦建立不能改变长度。
- 每个位置只能存一个值,多了会覆盖。
- 编号从0开始,下标。
- 他有个长度的属性,最后一个位置的编号是长度-1 (length-1)。
- 数组里边可以是基本类型,也可以是引用类型。
16、数组的简单实用
1、长度查询
public class ArrayText{
public static void main(String args[]){
int[] nums = new int[3];
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
int i = nums.length;
System.out.println(i);
}
}
2、根据下标查询内容
public class ArrayText{
public static void main(String args[]){
int[] nums = {1,5,68,4,9,22};
System.out.println(nums[2]);
}
}
2、根据内容查询下标
public class ArrayText{
public static void main(String args[]){
int[] nums = {1,5,68,4,9,22};
int target = -1;
for(int i = 0;i < nums.length;i++){
if (nums[i] == 68){
target = i;
break;
}
}
System.out.println(target);
}
}
3、遍历
public class ArrayText{
public static void main(String args[]){
int[] nums = {1,5,68,4,9,22};
for(int i = 0;i < nums.length;i++){
System.out.println(nums[i]);
}
}
}
4、求数组中最大
public class ArrayText{
public static void main(String args[]){
int[] nums = {1,5,68,4,9,22};
int max = nums[0];
for(int i = 1;i < nums.length;i++){
if(nums[i] > max){
max = nums[i];
}
}
System.out.println(max);
}
}
5、求数组中最小
public class ArrayText{
public static void main(String args[]){
int[] nums = {1,5,68,4,9,22};
int min = nums[0];
for(int i = 1;i < nums.length;i++){
if(nums[i] < min){
min = nums[i];
}
}
System.out.println(min);
}
}
6、数组中位置互换
public class ArrayText{
public static void main(String args[]){
int[] nums = {1,5,68,4,9,22};
int temp = nums[3];
nums [3] = nums[0];
nums [0] = temp;
for(int i = 0;i < nums.length;i++){
System.out.println(nums[i]);
}
}
}
7、冒泡排序
public class ArrayText{
public static void main(String args[]){
int[] nums = {1,5,68,4,9,22};
for (int j = 0;j < nums.length-1;j++)
for (int i = 0;i < nums.length-1;i++){
if(nums[i]>nums[i+1]){
int temp = nums[i];
nums[i] = nums[i+1];
nums[i+1] = temp;
}
}
}
for(int i = 0;i < nums.length;i++){
System.out.println(nums[i]);
}
}
}
8、选择排序
public class ArrayText{
public static void main(String args[]){
int[] nums = {1,5,68,4,9,22};
for(int j = 0;j < nums.length-1;j++){
int min = j;
for (int i = j+1;i < nums.length;i++){
if (nums[i] < nums[min]){
min = i;
}
}
int temp = nums[j];
nums[j] = nums[min];
nums[min] = temp;
}
for (int i = 0; i< nums.length; i++){
System.out.println(nums[i]);
}
}
}
public class ArrayText{
public static void main(String[] args){
int[] nums = {1,5,2,3,9,45,21,15};
int min = nums[0];
for (int i = 0; i < nums.length;i++){
if(nums[i] < min){
min = nums[i];
}
}
for (int i = 0;i < nums.length;i++){
System.out.println(nums[i]);
}
}
}
17、欣知人事年龄管理系统
/**
*欣知人事年龄管理系统
*author:Mr she
*/
import java.util.Scanner;
public class ArrayText{
public static void main(String[] args){
Scanner scanner =new Scanner(System.in);
//创建一个数组
int[] numsAge = new int [5];
System.out.println("请输入公司员工年龄:");
//初始化了员工年龄的数组
for(int i = 0;i < numsAge.length;i++){
System.out.print("请输入公司第"+(i+1)+"的年龄: ");
numsAge [i] = scanner.nextInt();
}
//功能选择
boolean a = true;
while(a){
System.out.println("功能选择:1、员工年龄排序 2、找最大的年龄 3、添加一个新的年龄 4、退出 ");
int select = scanner.nextInt();
switch (select){
case 1:
for(int i = 0;i < numsAge.length-1;i++){
for(int j = 0; j < numsAge.length-1-i;j++){
if (numsAge[j]>numsAge[j+1]){
int temp = numsAge[j];
numsAge[j] = numsAge[j+1];
numsAge[j+1] = temp;
}
}
}
break;
case 2:
int maxAge = numsAge[0];
for(int i = 0; i < numsAge.length;i++){
if(numsAge[i]>maxAge){
maxAge = numsAge[i];
}
}
System.out.println("公司员工中年龄最大的人的年龄是"+maxAge);
break;
case 3:
// 先新建一个数组
int[] tempAge = new int[numsAge.length+1];
// 再把旧的移到新的上
for (int i = 0 ;i < numsAge.length;i++){
tempAge[i] = numsAge[i];
}
// 在输入新的年龄
System.out.println("请输入新的年龄:");
tempAge[tempAge.length-1] = scanner.nextInt();
numsAge = tempAge;
break;
case 4:
a = false;
break;
default:
System.out.println("您输入的年龄有误");
break;
}
for(int i = 0; i < numsAge.length;i++){
System.out.println("第"+(i+1)+"员工"+"的年龄"+numsAge[i]);
}
}
}
}
18、方法的初次认识
/**
*欣知人事年龄管理系统
*author:Mr she
*/
import java.util.Scanner;
public class HelloWorld{
public static void main(String[] args){
Scanner scanner =new Scanner(System.in);
//创建一个数组
int[] numsAge = new int [5];
System.out.println("请输入公司员工年龄:");
//初始化了员工年龄的数组
for(int i = 0;i < numsAge.length;i++){
System.out.print("请输入公司第"+(i+1)+"的年龄: ");
numsAge [i] = scanner.nextInt();
}
//功能选择
boolean a = true;
while(a){
System.out.println("功能选择:1、员工年龄排序 2、找最大的年龄 3、添加一个新的年龄 4、退出 ");
int select = scanner.nextInt();
switch (select){
case 1:
sort(numsAge);
break;
case 2:
int maxA = max(numsAge);
System.out.println("公司员工中年龄最大的人的年龄是"+maxA);
break;
case 3:
System.out.println("请输入新员工的年龄");
int xingzhi = scanner.nextInt();
numsAge = charu(numsAge,xingzhi);
break;
case 4:
a = false;
break;
default:
System.out.println("您输入的年龄有误");
break;
}
for(int i = 0; i < numsAge.length;i++){
System.out.println("第"+(i+1)+"员工"+"的年龄"+numsAge[i]);
}
}
}
//排序的方法
public static void sort( int[] asd) {
for(int i = 0;i < asd.length-1;i++){
for(int j = 0; j < asd.length-1-i;j++){
if (asd[j]>asd[j+1]){
int temp = asd[j];
asd[j] = asd[j+1];
asd[j+1] = temp;
}
}
}
}
//最大值的方法
public static int max(int[] args) {
int maxAge = args[0];
for(int i = 0; i < args.length;i++){
if(args[i]>maxAge){
maxAge = args[i];
}
}
return maxAge;
}
public static int[] charu(int[] juzhu, int xingzhi) {
// 先新建一个数组
int[] tempAge = new int[juzhu.length+1];
// 再把旧的移到新的上
for (int i = 0 ;i < juzhu.length;i++){
tempAge[i] = juzhu[i];
}
tempAge[tempAge.length-1] = xingzhi;
return tempAge;
}
}