2024年java核心基础47讲

java核心基础47讲Java 核心基础之基础知识介绍 Java 是第一大编程语言和开发平台 它有助于企业降低成本 缩短开发周期 推动创新以及改善应用服务 如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机 Java 仍是企业和开发人员的首选开发平台 课程内容的介绍 关键字 标识符 注释 常量与变量 基本数据类型和转化 运算符 表达式 一 关键字 Java 关键字 是 Java 语言保留供内部使用的

大家好,我是讯享网,很高兴认识大家。



Java核心基础之基础知识介绍

​ Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台

课程内容的介绍

  1. 关键字
  2. 标识符
  3. 注释
  4. 常量与变量
  5. 基本数据类型和转化
  6. 运算符
  7. 表达式

一、关键字

​ Java关键字:是Java语言保留供内部使用的,比如class 用户与定义类。关键字也可以称为保留字,他们的意思是一样的。

 
讯享网 

​ 关键字是Java语言事先定义的,有特殊的意义的标识符,简而言之就是在高级记事本或者IDE中颜色会改变的单词就是关键字

关键字 abstract assert boolean break byte case catch char(character) class const continue default do double else extends final finally float for goto if implements import null package private protected public return short static strictfp super switch synchronized this throw throws transient try void volatile while

注意:不需要刻意的去背!后面我们会慢慢的接触到每个关键字的用法

关键字的特点

  1. 关键字基本都是由小写字母组成的
  2. Java语言规定关键字是不能作为标识符
  3. 目前Java中共有50个关键字

    其中"const"和"goto"这两个关键字在Java中是没有具体的含义的,预留的关键字。在其他的编程语言中"const"和"goto"都是关键字

课堂小案例:

判断一下单词哪些是关键字:

class HelloWorld public static void main String System out println

class:类名

public:共有的

static:静态的

void:没有返回结果

二、标识符

​ 标识符:等同于现实生活中的取名字,Java中对包、类、方法、参数和变量等要素命名的时候使用的字符序列称为标识符。 简而言之就是给类,接口,方法等起名字。

1.标识符的命名规则

规则:一定要遵守的,如果违反那么编译会报错

  1. 是由字母、数字、下划线_、美元符$组成
  2. 不能以数字开头
  3. 区分大小写
  4. 不能使用Java中的关键字

2.标识符的命名规范

规范:大家相互约定,都会遵守,如果不遵守编译不会报错

  1. 驼峰命名法(schoolName)
  2. 见名知意(使用有意义的英文单词)
  3. 命名的长度不要超过31个字符

3.开发中标准的规范

​ 针对开发中对 包、类、抽象类、接口和实现类、变量、方法、常量的命名规范

3.1 包

​ 也就是文件夹

    java核心基础47讲
  1. 一般都是用公司域名的反写
  2. 所有的单词使用"."隔开
  3. 每个单词都是小写的
讯享网

3.2 类(抬头骆驼)

  1. 所有的单词的首字母大写,其他字母小写
  2. 见名知意

eg: HelloWorld IdentifiedDemo

3.3 接口(抬头骆驼)

  1. 所有的单词的首字母大写,其他字母小写 interface
  2. 一般会在第一个单词的前面添加一个大写的 "I"

eg: IStudent IPerson IUserService

3.4 接口的实现类(抬头骆驼)

  1. 所有的单词的首字母大写,其他字母小写
  2. 一般我们会在最后一个单词后面追加"Impl" implements

eg: StudentImpl PersonImpl UserServiceImpl

3.5 抽象类(抬头骆驼)

  1. 所有的单词的首字母大写,其他字母小写
  2. 在单词的开头一般都会加上 "Abs" Abstract

eg: AbsStudent AbsPerson

3.6 变量(低头骆驼)

  1. 第一个单词首字母小写,其他单词首字母大写
  2. 一般都是名词

eg: studentName studentAge score totalScore

3.7 方法(低头骆驼)

  1. 第一个单词首字母小写,其他单词首字母大写
  2. 一般是动词

eg: getTotalScore getAvgScore getMaxScore getMinScore

3.8 常量

  1. 所有的单词都是大写
  2. 每个单词间都有"_"分割

eg: MAX_VALUE MIN_VALUE

面试题:说一说你对Java规范的理解

三、注释

注释的概念:

​ 为程序进行解释说明的,编译期不会对注释进行编译操作

注释的好处:

  1. 是代码的可读性提高
  2. 开发中工作项目交接更加顺畅
  3. 程序调试更方便

单行注释: //

多行注释: /* 在此处写我们的注释内容 */ 多行注释是不能嵌套的

文档注释: / */

注意:

  1. 文档注释可以是javadoc工具来生成API,后续会介绍
  2. 初学者一定要养成良好的习惯,先写注释,再写代码
  3. 开发中的注释不能随便删除
 

四、常量和变量

1.常量

1.1 什么是常量

​ 在程序的执行过程中,值不会发生改变的量

1.2 为什么要用常量

​ 一周有7天

​ PI:3.

​ 一年有12个月

1.3 常量的分类

1.3.1 字面值常量

​ 就是具体的值

1.) 整数常量

​ 大家要注意整数的进制。

  1. 二进制 由 0 1组成,常量表示二进制 0b开头 0b010110
  2. 八进制 由0~7组成,由 0 开头 012
  3. 十进制 由0~9组成,默认就是十进制
  4. 十六进制 由0~9 ABCDEF组成,开头 0x
2.) 小数常量
  1. float 单精度小数 0.5F
  2. double 双精度 0.5D 默认

float,double后面会具体的来介绍这两个类型

3.) 布尔型常量

​ 用来表示 "真" "假",在程序中布尔型只有两个值

4.) 字符常量

什么是字符:字符串中的最小单位,包括字母,数字,运算符,标点符号和其他符号

字符本质上还是数字

针对有特殊含有的字符我们需要通过转义符来实现 ""

​ 制表 换行 换行 R 换行 ' "

5.) 字符串常量
  1. 由双引号包裹
  2. 里面可以有一个字符也可以有多个字符还可以没有字符
讯享网
1.3.2 自定义常量

​ 后面章节中会和大家介绍

2.变量

变量的定义:在程序的执行过程中,其值可以发生改变的量。类似于数学中的未知数 X

变量的本质:就是一个地址

变量的三要素:

  1. 声明
  2. 赋值
  3. 使用
 

注意点:

  1. 变量一定要先声明再赋值在使用
  2. 变量的定义不能够重复
  3. 不能够连续定义变量 int x=y=z=123;
  4. 建议一行只写一条语句

五、基本数据类型和转换

1.计算机单位

​ 计算机能识别是只有二进制文件0和1

位:就是一个0或者1

1B: 1*8位 字节:8位等于1字节 1B _ _ _ _ _ _ _ _ 0000 0000 -128~127

1KB: 1024*B

1MB=1024*1KB

1GB=1024*1MB

1TB=1024*1GB

。。。。

2.数据类型

​ Java是一门强类型的语言。针对于每一种数据都提供的对应的数据类型

2.1 基本数据类型

2.2 引用数据类型

​ 后面专门介绍

  1. 类(class)
  2. 接口(interface)
  3. 数组([])

3.数据类型转换

数据类型转换的依据:取决于数据的取值范围

byte --> short --> int --> long --> float --> double

​ char[0~65535]

注意:boolean类型的数据是不能参与类型转换

3.1 自动类型转换

我们将取值范围小的数据保存到取值范围大的数据类型中的时候是可以自动转换类型的

 

3.2 强制类型转换

​ 我们将取值访问比较大的变量赋值给取值范围比较小的变量,那么此时会出现数据的丢失,所以此时我们需要强制类型转换。

 

编译的时候会出现如下的错误

此时为了避免这个错误,我们需要强制类型转换

 
 

​ 做数据类型的强制转换的时候会有和的可能.所以在做数据的强制类型转换的时候一定要谨慎!

注意:这里主要注意的是每个数据类型的范围,强制转换可能会超出数据范围,这时候就会出现数据溢出以及数据丢失:

例如:

 

image-20210708161733852

300 已经超出了 byte 类型表示的范围,所以会转换成一个毫无意义的数字。

类型提升

所谓类型提升就是指在多种不同数据类型的表达式中,类型会自动向范围表示大的值的数据类型提升。

把上面的溢出的例子再改下。

 

price 为 int 型,count 为 long 型,运算结果为 long 型,运算结果正常,没有出现溢出的情况。

3.3 类型转换的特例

​ 在 byte、short、char在转换的时候系统会帮助我们做一些处理,我们在赋值给byte,short,char时,如果赋予的值在对于类型的范围之内,系统会帮助我们自动完成转换,次场景下我们不需要强制内容转换。

 

3.4 byte/short和char转换,都需要强制类型转换

byte类型和char类型转换及short类型和char类型相互转换都是需要强制类型转换的

 

3.5 表达式类型提升

​ 当表达式运算符两边的类型不一致的时候,结果的类型会自动向高类型转换

 

解决方式

 

3.6 byte,short,char之间参与运算

​ 当byte,short,char之间参与运算的时候,底层都会转换为int类型来计算。

 

3.7 布尔型不能参与运算和转换的

​ 在Java中boolean是不能参与运算和转换的。

 

3.8 字符串运算的时候拼接

​ 当字符串类型的数据和其他数据做加法运算的时候都是之间拼接的

 

3.9 变量和常量计算的问题

​ 如果表达式是变量组成的,那么我们说讲的特例是不生效的,特例只针对常量

 

六、运算符

1.算术运算符

​ +,-,*, / 、% 、++ 、 --

1.1 +号

  1. 正数
  2. 加号
  3. 连接符号
 

1.2 - * / %

 

1.3 ++/--

++ -- 属于单目运算

++ 表示自增1

-- 表示自减1

1.3.1单独使用

​ 表示自增或者自减,没有任何的区别

 
1.3.2 参与运算
  1. 如果++放在操作数的左边,就表示先自增再参与运算
  2. 如果++放在操作数的右边,就表示先参与运算然后在自增1或者自减1
 
1.3.3 课堂练习:
  1. int x = 3; int res = (x++)%(++x) 请推断res的值,及x此时的值
  2. int n = 5; n=++n + ++n 求n的值
  3. int n = 3; n= ++n + n ++;求n的值

2.赋值运算符

普通的 =

扩展的 += -+ *= /= %=

 

面试题1: short s1 = 1 ; ? s1 = s1 + 1; 有什么错?

​ short s1 = 1; s1 += 1; 又有什么错?

 

面试题2:如何交换两个数?

 

解决方案:定义一个中间变量即可

3.关系运算符

> < >= <= != ==

关系运算符得到的结果都是boolean类型的数据(true和false)

 

4.逻辑运算符

​ 连接多个boolean类型的表达式

boolean类型的表达式1 boolean类型的表达式2 boolean类型的表达式3 boolean类型的表达式4

4.1 安位逻辑运算符

& 按位与

| 按位或

^ 异或

 

按位符号也会运用在,位运算操作要比普通运算的效率要高很多

 

4.2 短路逻辑运算符

&& 短路与

|| 短路或者

! 非

& 表示按位与,无论什么情况都会同时计算运算符两边的表达式

&& 表示短路与,如果前面的表达式为false,那么无论后面的表达式结果如何,都不会去计算后面表达式的值。因为后面表达式的值不会影响结果

同时注意:在实际使用中我们很少使用按位与,更多的是使用短路与

!:取反

​ 当!的个数是奇数个的时候,结果相反

​ 当!的个数是偶数的时候,结果不变

面试题:& 与 && 的区别

  1. & 表示按位与,无论什么情况都会同时计算运算符两边的表达式
  2. && 表示短路与,如果前面的表达式为false,那么无论后面的表达式结果如何,都不会去计算后面表达式的值。因为后面表达式的值不会影响结果
  3. && 开发中使用,&基本不使用
  4. &常用与位运算操作,效率高

5.位运算符

位运算符:用来计算二进制的运算符

& | ^ ~

<< >> >>> 补码

6.条件运算符

条件运算符又称为

 

七、表达式

表达式的定义:符合一定的语法规则的和的序列

运算符:算数运算符,赋值运算符,关系运算符,逻辑运算符,位运算符(了解), 三目运算符

操作数:变量或者常量

 

表达式的值:整个表达式的结果

表达式的类型:整个表达式的结果的类型

表达式的优先级:

​ i < 30 && i%10 !=0

优先级不用去背!!!

优先级 描述 运算符 1 括号 ()、[] 2 正负号 +、- 3 自增自减,非 ++、--、! 4 乘除,取余 *、/、% 5 加减 +、- 6 移位运算 <<、>>、>>> 7 大小关系 >、>=、<、<= 8 相等关系 ==、!= 9 按位与 & 10 按位异或 ^ 11 按位或 | 12 逻辑与 && 13 逻辑或 || 14 条件运算 ?: 15 赋值运算 =、+=、-=、*=、/=、%= 16 位赋值运算 &=、|=、<<=、>>=、>>>=

运算符的优先级:

  1. 有括号先计算括号里面的
  2. 单目运算 > 双目运算 > 三目运算
  3. 算数运算符 > 关系运算 > 逻辑运算 > 条件运算 > 赋值运算
  4. 如果优先级相同,从左至右即可
  5. +、- > ++ -- !

可以显著的提高程序的可读性

为了便于查询,以下列出ASCII码表:第128~255号为扩展字符(不常用

ASCII码 键盘 ASCII 码 键盘 ASCII 码 键盘 ASCII 码 键盘 27 ESC 32 SPACE 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 ' 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ? 64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 93 ] 94 ^ 95 _ 96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~

ASCII码表

GB2312 中文对ASCII的扩展 --》 GBK --》GBK18030

BIG5

小讯
上一篇 2024-12-25 13:01
下一篇 2024-12-25 17:31

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/5990.html