JAVA基础入门--个人学习总结

一、JDK

1.1 JDK的作用

jdk用作开发java代码的和编译java代码的 – javac – . java
jre运行java代码的 --java --.class

Java虚拟机(Java Virtual Machine)
创建.java的文件,通过javac命 令编译文件编程后缀为.class文件
然后通过java命令执行.class文件,用户就可以看到结果

1.2 JDK1.5前后的变化

StringBuilder和StringBuffer

和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
StringBuilder 类在 Java 5 中被提出,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。

For-Each循环

JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。

控制台的输出

JDK1.5以前使用BufferedReader读取控制台数据

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

JDK1.5以后使用Scanner读取控制台数据

Scanner scan = new Scanner(System.in);
// 从键盘接收数据

二、Eclipse入门

  1. JAVA_HOME相当于配置了一个文件夹路径的别名,配置了别名在path中%变量名%使用快捷路径
    2.配置文字
    window-Preferences-General-Appearance-Colors and Fonts
    3.单行注释
    //注释内容
    4.多行注释
    /*
    注释内容
    */
    5.文本注释
    /**开头
    中间可以任意内容
    */结束
    6.eclipse编译
    eclipse在代码保存时自动编译该文件的.class文件,放在项目的bin目录下

为代码添加作者名和日期等
添加代码作者

三、标识符

3.1 常量

固定不变的量

3.2 8种基本数据类型

整数类型 byte、short、int、long(1,2,4,8字节)
浮点型 float(4字节)、double(8字节)
字符型 char
布尔型 boolean

3.3 变量

常量的储存容器,可更改变量的值
变量在输出前一定要赋值
变量定义有两种方式:
变量类型 变量名= 值;1.在定义变量的时候就赋值

变量类型 变量名;
变量名=值; 2.先定义一个变量,然后再后面赋值

定义各种类型的变量并且输出

3.4 变量命名规则

通常以大写字母开头,可包含字母、数字、下划线、$¥等货币符号。
不可包含其他特殊符号,不得以数字开头

四、运算符

4.1 算数运算符

加减乘除
取余数 又称取模

System.out.println(9%6);//输出3
//一个数对另一个数取模如果结果为0代表能够整除
System.out.println(9%3);//输出0

4.2 赋值运算

将常量的值赋给变量

int num = 100;

4.3 一元运算符

int a = 1;
int c = a++;//先赋值后运算
system.out.println(a);
system.out.println(c);

或者

int a = 1;
int c = ++a;//先运算再赋值
system.out.println(a);
system.out.println(c);

4.4 赋值运算符进阶

在这里插入图片描述

4.5 比较运算符

在这里插入图片描述

4.6 逻辑运算符

在这里插入图片描述

public class Demo03 {
	public static void main(String[] args) {
		// 双与
            //双&&如果左边为false右边就不执行了
		System.out.println(true && true);
		System.out.println(true && false);
		System.out.println(false && false);
		// 单与
            //单&如果左边为false右边也要参与运算,耗费内存,开发中不常用
		System.out.println(true & true);
		System.out.println(true & false);
		System.out.println(false & false);
	}
}
public class Demo04 {
	public static void main(String[] args) {
		// 双或
		//如果左边为true,右边就不执行了
		System.out.println(true || true);
		System.out.println(true || false);
		System.out.println(false || false);
		// 单或
		//如果左边为true,右边也要执行,比较耗费内存,开发中不常用
		System.out.println(true | true);
		System.out.println(true | false);
		System.out.println(false | false);
	}
}

4.7 三元运算符

又称三目运算
语法:条件表达式?表达式1:表达式2
条件表达式为true,返回表达式1;
条件表达式为false,返回表达式2;

public class Demo05 {
	public static void main(String[] args) {
             //两个表达式值的类型必须一致
		int i = 3 > 5 ? 3 : 5;
		System.out.println(i);// 返回5
	}
}

五、数据类型转换

5.1 自动类型转换(隐式类型转换)

long num = 100;//从int转到Long

当范围更小的类型转换到范围更大的类型,可以自动识别,完成类型转换

//左边是float类型,右边是long类型
//Long->float
//float是使用科学计数法进行存储的
//符合范围从小到大,和字节大小没有关系
float f = num;//可以完成自动转换

5.2 手动类型转换(强制类型转换)

语法:范围小的类型 范围小的变量名 = (范围小的类型)范围大的数据;

int num = (int)100L;

//强制类型转换可能会有数据溢出
//byte数据结构如下图,可解释为什么等于-127
byte b = (byte) 129;
System.out.println(b);//-127

//强制类型转换可能会丢失小数
int i = (int)99.9;
System.out.println(i);//99

在这里插入图片描述
数据转换中应注意的细节

//int->byte
//byte在赋值的时候要借助int类型
//java会自动检测这个int类型的值
//如果这个int类型的值能在byte存储下,就会发生自动类型转换
//如果超出表示的范围,就不能自动转换了
byte num = 12short s = 12;
public class Demo06 {
	public static void main(String[] args) {
		byte num1 = 50;
		byte num2 = 100;
		// 把num1与num2的值提取出来再相加
		//并未将byte转换为int再计算
		int num3 = num1 + num2;
		System.out.println(num3);
	}
}

5.3 char类型的转换

Unicode万国码表,也就是字符和数字的对照表
前127位和ASCII码一样
字符一旦进行了数字运算,就会转换成ASC

char ziFu = '0';
System.out.println(ziFu + 1);//得49

5.4 运算符的优先级

在这里插入图片描述

六、判断语句

6.1 顺序语句

从上往下按照顺序执行,顺序语句
默认就是顺序语句

6.2 判断语句

if语句是JAVA语言选择控制或分支控制语句之一, 用来对给定条件进行判定,并根据判定的结果(真或假)决定执行给出的两种操作之一。

if语句包括三种形式:
➢单分支if语句

public class Demo08 {
	public static void main(String[] args) {
		//三个数找出最大数
		int a = 89;
		int b = 83;
		int c = 62;
		int max;
		max = a;
		if (b > max) {
			max = b;
		}
		if (c > max) {
			max = c;
		}
		System.out.println(max);
	}
}

➢双分支if语句

if(true){
    
}else{
    
}

➢多分支if语句

if(true){
    
}else if{
    
}else{
    
}

6.3 switch算数表达式

语句格式:

switch(算数表达式){
	case  常量表达式1:
		语句块1
		breakcase   常量表达式2:
		语句块2
		breakdefault :
		语句块
		break;
}

6.4 switch的注意事项

算数表达式的规范,支持的类型 byte short int char基本数据类型,Long类型和其他类型都不允许
多个case的值不能一样
一个switch中所有常量表达式与算术表达式的数据类型一致
注意在每个case后加break;

七、循环语句

7.1 for循环

语句格式:

for(表达式1;表达式2;表达式3{
	循环体
}

表达式1:代表初始化语句,在循环最初的时候执行,而且只会执行一次
表达式2:条件判断,如果成立,循环执行;如果不成立,循环不执行
表达式3:每次循环执行完成之后都要执行
循环体:重复做的事情,若干语句
每个表达式中间用分号(;)隔开

7.2 break使用

中止并结束整个循环

for (int i = 1; i <=10; i++) {
			if(i>5) {
				break;
			}
			System.out.println(i);
		}

7.3 continue的使用

跳过本次循环,执行下次循环,不影响循环中的扫尾工作

for (int i = 1; i <=10; i++) {
			if(i%2==0) {
				System.out.println("跳过偶数");
				continue;
			}
			System.out.println(i);
		}

7.4 while循环

语句格式:

while(布尔表达式){
循环体
}

7.5 break和continue在while中的作用

break在while和for循环中作用一致
continue在while中与for有差别

//没有专门的位置放扫尾工作
//在while中需要给continue前面添加扫尾工作
int i = 0;
while(i<=10) {
	if (i%2==0) {
		System.out.println("偶数跳过了");
		i++;
		continue;//跳出本次循环以及后面的代码
	}
	System.out.println(i);
	i++;
}

如果循环的次数确定使用for循环
如果循环的次数不确定使用while循环

7.6 do-while循环

该循环是个后验循环
语句格式:

do{
循环体
}while(布尔表达式);

7.7 多层循环

多层循环的基本格式:

for(表达式1;表达式2;表达式3{
	循环体
	for(表达式4;表达式5;表达式6{
		循环体
	}
}

break在多层循环中用于退出该层循环
continue跳出当前的当次循环及后面的代码

八、数组

8.1 容器概述

容器:是将多个数据存储在一起,每个数据称为该容器的元素
同种性质同种类型的容器

8.2 数组概念

数组是一种容器,可以存放多个同种类型的数据
数据按照一定的顺序排列
数组格式:

  1. 数组类型 [ ] 数组名 = { 值1,值2,…,值n};
  2. 数组类型 [ ] 数组名 = new 数组类型 [ ] { 值1,值2,…,值n};
  3. 数组类型 [ ] 数组名 = new 数组类型 [n];
    静态初始化:1,2数组的创建方式,在创建数组的时候直接给定数组的元素,系统自动识别数组长度
    动态初始化:3数组的创建方式,给定数组的长度,未给定数组的值
    注:如果未给数组名定义初始值,
    整数型数组每个值默认为0,
    浮点型数组默认为0.0
    String型数组默认为null,
    Char型数组默认为空,
    Boolean型数组默认为false
    数组的特点:
    数组的长度是固定的
    数组存储的数据类型必须是相同的数据类型
    数组的类型可以是任意的

8.3 数组的遍历

int[] ss= {1,2,3,4,5,6};
    for (int i = 0; i < ss.length; i++) {
        System.out.println(ss[i]);
	}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值