李兴华课程 java学习笔记

本文详细介绍了Java编程的基础知识,包括Java的特点、数据类型、运算符、程序逻辑控制、面向对象概念、数组、I/O流以及多线程等内容。重点讨论了数据类型的分类和转换规则,方法的定义与重载,构造方法的使用,以及线程同步和死锁问题。此外,还涉及了日期处理类的使用。
摘要由CSDN通过智能技术生成

学习笔记

第一章 Java
Java的特点
1、java语言足够简单,正因为足够简单,所有才能让人们有更多的发挥空间
2、java是一门面向对象的编程语言
3、java是为数不多的多线程编程语言
4、java提供了自动垃圾收集机制,以更好的处理垃圾空间
5、java避免复杂的指针问题,而使用了更加简单的引用来完成内存
匹配
6、java实现任意平台的移植

计算机高级编程语言类型
1、编译型
2、解释型

Java是两种语言的结合
1、编译命令:javac.exe
2、解释命令:java.exe

Java程序组成:java源文件,字节码文件,机器码指令

标识符
类名称、属性名称、方法名称都成为标识符
标识符的基本要求:标识符由字母、数字、—、 符 所 组 成 , 其 中 不 能 以 数 字 开 头 , , 不 能 是 j a v a 中 的 保 留 字 ( 关 键 字 ) 在 编 写 的 时 候 , 尽 量 不 要 去 使 用 数 字 , 命 名 尽 量 有 意 义 , 对 于 符所组成,其中不能以数字开头,,不能是java中的保留字(关键字) 在编写的时候,尽量不要去使用数字,命名尽量有意义,对于 java使有特殊意义,不要使用
Java中的关键字
Abstract boolean break byte ease eath char
Class continue default do double else extends
False final finally float for if implements
Import instanceof int interface lonf native new
Null package private protected public return short
Static synchronized super this throw throws transient
Ture try void volatile while assert enum
Java中有两个未使用到的关键字:goto,const
Java有三个特殊含义标识:ture、false、null

第三章 Java数据类型划分
不同的数据类型可以保存不同的数据内容
Java一共分为两大数据类型:基本数据类型、引用数据类型
1、基本数据类型
1.1、数值型:
整形:byte、short、int、long 默认值:0
浮点型:float、double 默认值:0.0
1.2、字符型:char 默认值:\u000’
1.3、布尔型:boolean 默认值:false
2、引用数据类型:数组、接口 默认值:null
基本数据类型不牵扯内存分配问题,而引用数据类型需要由开发者为其分配空间,而后进行关系匹配

个人选择数据类型原则:
如果想表示整形:int
表示小数:double
描述日期、时间、数字、或表示文件内存大小:long
实现内容传递或者编码转换:byte
实现逻辑控制:boolean
如果想要使用中文:char(避免乱码)
按照保存范围:byte<int<long<double
1.1整形
任何一个数字常量(例如:30、100)那么都属于int类型的数据类型。即:在java之中所有设置的整数内容,默认情况下都是int型数据
所有的变量在同一块代码之中只允许声明一次

在程序的世界里面,数据类型转换有一下规律
1、数据范围小的数据与数据范围大的数据进行数学计算的时候,自动向数据范围大的数据转型后计算;
2、数据范围大的数据要变为数据范围小的数据,必须采用强制转换
3、如果是常量进行强制转换,有两种标记:常量标记(L,l)使用(数据类型)
4、数据大的数据类型也可以转换为数据小的数据类型,这样必须使用“(数据类型)”的格式
小转大:
Int变量 ±long型常量 = long型数据
大转小:
Long num=100;
Int x = (int)num;
如果long变为int时所保存的数据类型超过了int范围,那么依然会出现数据溢出
任意一个整数都属于int型,但是java编译的时候,如果发现使用的数据变量类型为:byte,并且设置的内容在byte范围内,那么就会自动帮助用户实现数据类型转换。反之超过了依然会以 int为主

提示:所有的变量在使用的时候一定不要去相信默认值,都设置具体内容
定义变量的时候直接设置默认值
使用整形就用int,90%以上都适用
1.2浮点型
浮点数就是小数,java之中只要是小数,那么就使用double型数据。double是保存范围最广的数据类型。

由于默认的小数类型是double,所以入股使用了float型,表示需要将double型变为float型,需要强制转换
例如:
Float f1 = 10.2F;
Float f2 = (float)10.2;

所有的数据类型只有double才可以保存小数

1.3字符型;char
Byte是属于字节,按照传统的概念来讲,一个字符等于两个字节,对于字符除了和字节有一些关系之外,最主要的关系在在于int变量的转换

字符可以和int互相转换
‘A’(65)~’Z’(90)
‘a’(97)~’z’(122)
‘0’(48)~’9’(57)

字符与int转换
Char c = ‘A’;
Int num = c;
c = (char)num
1.4布尔型
布尔是一个数学家的名字,布尔型是一种逻辑结果,主要保存有两大数据类型:true、false,这类的数据主要用于一些逻辑判断上
例如:
Boolean flag = ture;
If(flag){
System.out.println(“hello”);

由于设计之初没有考虑到布尔型,那么久使用数字0表示false,而非0表示ture,但是这样的设计对代码开发来说比较混乱,java里面不允许使用0或1来填充布尔型变量内容。那么只能使用false,true
1.5 String型数据
只要是项目开发,100%会使用String,但是与其他基本数据类型相比,String属于引用数据类型(它属于一个类),在java里面只要是类名称,每一个单词首字母都是大写的,但是这个类的使用比较特殊

String 表示的是一个字符串,即:多个字符集,String要求使用“”声明其内容
字符串里面的“+”表示连接操作

任何数据类型加上字符串都是向字符串类型转换

在java里面也支持多种转义字符使用,例如:换行(\n)、制表(\t)、描述\(\)、
双引号(\”)、单引号(\’)
总结:
1、常用的数据类型:整数用:int、小数:double、逻辑:boolean
2、long、byte、char在处理数据的时候回用到
3、数据类型转换用远都是小的数据类型自动向大的数据类型转换,大转小需要强制转换
第四章 Java运算符
Int = 10;
此类方式称为赋值,运算符“=”是实现赋值运算使用的,进行数学计算所使用的四则运算,也属于运算符的定义范畴
在开发之中常使用的积累运算符:四则运算、逻辑运算、三目运算、位运算

简化的运算符: *=、/=、+=、-=、%=
1.1 三目运算:
Int numA=10;
Int numB=20;
Int max=numA > numB?numA:numB;
System.out.println(max);
1.2逻辑运算
与操作
当多个条件使用与进行连接的时候,那么只有多个条件都满足的时候,最终结果才是true,如果有一个条件返回false,那么最终的结果就是false;

单个“=”是赋值,“==”是判断

短路与的使用:
当多个提交件进行与(使用短路与)操作的时候,前面只要有一个条件返回false,那么后面就不在进行判断了,直接返回false;

短路或的使用:
当多个条件进行或(短路或)操作的时候,前面只要有一个条件返回了true,那么后面就不再进行判断力,直接返回true;

总结:
1、运算符写简单的操作
2、三目一定要掌握
3、使用短路与,短路或

第五章 Java程序逻辑控制
1.1程序逻辑控制
程序逻辑主要分为三种逻辑结构:顺序结构、分支结构、循环结构。其中顺序结构最好理解,所有的代码都是有前向后执行的,需要提醒的是顺序是以“{}”为界限的。

分支结构:
分支结构就是一种判断结构。对于分支结构有两类语法支持:if、switch。
If 分支语句:
if If…else If…else if…else ….
If(布尔表达式){
程序语句
} If(布尔表达式){//满足条件时执行
程序语句
}else{//不满足条件是执行
程序语句
} If(布尔表达式1){//满足条件时执行
程序语句
}
If(布尔表达式2){//满足条件时执行
程序语句
}…

Switch语法:
Switch(整数|字符|枚举|String){
Case 内容1:{
满足条件时执行;
Break;
}
Case 内容2:{
满足条件时执行;
Break;
}
Case 内容3:{
满足条件时执行;
Break;
}
Switch只能够判断内容,不能进行布尔表达式的判断
1.2循环语句
有两种循环:while循环、for循环
所有的循环语句必须要有循环初始化条件,每次循环的时候都要修改这个条件,以判断循环是否结束
Do…while循环属于先执行一次,而后在进行判断。即:不管条件是否满足都会执行一次

For循环
For(循环初始化条件;循环判断;循环条件变更){
循环语句;
}
两种语法的选择:
1、如果不知道循环次数,但是知道循环结束条件的时候使用while循环
2、如果已经明确知道了循环次数使用for循环

循环控制:
循环控制有两种语句:continue(退出本次循环)此类语句一定要与判断语句一起使用
Break:退出整个循环

总结:
While循环用于不知道次数,但是知道循环结束条件
For循环用于知道循环次数的循环
Continue和break都需要与if语句结合使用

第六章 方法
方法的基本概念
所谓的方法是指一段可以被重复调用的代码段,利用此操作可以封装执行的代码
在java之中,方法的定义格式比较复杂,所以本次给出的方法有一个要求:指的是定义在主类之中并且由主方法直接调用的方法。方法创建的语法如下:
public static 返回值类型 方法名称(参数类型 变量 、、、){
方法体(本方法要执行的若干操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值