java基础知识总结

一、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、数据类型

byte1字节-128(-27)—127(27-1)
short2字节-32768(-2^15)— 32767(2^15-1)
int4字节-2,147,483,648(-231)—2,147,483,647(231 - 1)
long8字节-9,223,372,036,854,775,808(-2^63)— 9,223,372,036,854,775,807(2^63 -1)
float4字节单精度
double8字节双精度(浮点数的默认类型为double类型)
boolean1字节布尔型 只有两个取值true 和 false
char2字节字符节

正数的原码反码和补码都是本身

负数的反码除了符号位其余取反 补码=反码+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;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值