JavaSe基础

1. Java概述

1.1 Java语言发展史(了解) 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言 Java之父:詹姆斯·高斯林(James Gosling)[高司令] 2009年,Sun公司被甲骨文公司收购,

1.2 Java语言跨平台(平台指的是操作系统,跨平台是程序跨平台而不是虚拟机跨平台)原理(理解) Java程序并非是直接运行的,Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚 拟机(JVM)对字节码文件解释执行。所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的 跨平台。

1.3 JRE和JDK(记忆) JVM(Java Virtual Machine),Java虚拟机 JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API) JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具,JRE包含了JVM和主要的核心类库.(理解好JDK,KRE,JVM三者之间的关系,如果只是运行程序,安装JRE即可.编写编译运行,需要安装JDK)

总结:我们只需安装JDK即可,它包含了java的运行环境和虚拟机。

1.4 JDK的下载和安装(应用)

 常用DOS命令:

盘符名称: 盘符切换。E:回车,表示切换到E盘。

dir 查看当前路径下的内容。

cd 目录 进入单级目录。cd itheima

cd .. 回退到上一级目录。

cd 目录1\目录2... 进入多级目录。

cd itheima\JavaSE cd \ 回退到盘符目录。

cls 清屏。

exit 退出命令提示符窗口。

   2. 第一个演示程序

2.1 常用DOS命令(应用) 在接触集成开发环境之前,我们需要使用命令行窗口对java程序进行编译和运行,所以需要知道一些常用DOS命 令。

1、打开命令行窗口的方式:win + r打开运行窗口,输入cmd,回车。

2、常用命令及其作用

2.2 Path环境变量的配置(应用,一定要会

  2.2.1 为什么配置环境变量 开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的 bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK 的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。

  2.2.2 配置环境变量步骤 具体配置步骤请参见《Java环境变量配置说明》文档。

2.3 HelloWorld案例(应用) HelloWorld案例是指在计算机屏幕上输出“HelloWorld”这行文字。各种计算机语言都习惯使用该案例作为第一个演示案例。

  2.3.1 Java程序开发运行流程 开发Java程序,需要三个步骤:编写程序,编译程序,运行程序。

  2.3.2 HelloWorld案例的编写

1、新建文本文档文件,修改名称为HelloWorld.java。

2、用记事本打开HelloWorld.java文件,输写程序内容。

2.3.3 HelloWorld案例的编译和运行保存文件,打开命令行窗口,将目录切换至java文件所在目录,编译java文件生成class文件,运行class文件。 编译:javac 文件名.java

范例:javac HelloWorld.java(回车,看是否报错,无报错生成.class文件)

执行:java 类名 范例:java HelloWorld

2.4 HelloWorld案例常见问题(理解)

2.4.1 BUG 在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。

2.4.2 BUG的解决

1、具备识别BUG的能力:多看

2、具备分析BUG的能力:多思考,多查资料

3、具备解决BUG的能力:多尝试,多总结

2.4.3 HelloWorld案例常见问题

1、非法字符问题。Java中的符号都是英文格式的。

2、大小写问题。Java语言对大小写敏感(区分大小写)。

3、在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件。

public class HelloWorld {

 public static void main(String[] args) {

System.out.println("HelloWorld"); }

}

4、编译命令后的java文件名需要带文件后缀.java

5、运行命令后的class文件名(类名)不带文件后缀.class ...

3. java基础语法

3.1 注释(理解) 注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。

Java中的 注释分为三种:

1)单行注释。单行注释的格式是使用//,从//开始至本行结尾的文字将作为注释文字。

2)多行注释。多行注释的格式是使用/* 和 */将一段较长的注释括起来。

3)文档注释。文档注释以 /** 开始,以 */ 结束。(以后讲)

3.2 关键字(理解) 关键字是指被java语言赋予了特殊含义的单词。 

关键字的特点: 关键字的字母全部小写。 常用的代码编辑器对关键字都有高亮显示,比如现在我们能看到的public、class、static等。

3.3 常量(应用)

常量:在程序运行过程中,其值不可以发生改变的量(例如:你的名字是张三,高中你叫张三,大学你还是叫张三)。

Java中的常量分类:

1)字符串常量 用双引号括起来的多个字符(可以包含0个、一个或多个),例如"a"、"abc"、"中国"等

2)整数常量 整数,例如:-10、0、88等

3)小数常量 小数,例如:-5.5、1.0、88.88等

4)字符常量 用单引号括起来的一个字符,例如:'a'、'5'、'B'、'中'等

5)布尔常量 布尔值,表示真假,只有两个值true和false(一般用于判断)

6)空常量 一个特殊的值,空值,值为null 空常量不能被打印输出

public class HelloWorld {

 public static void main(String[] args) {

System.out.println("null"); }//会报错

}

3.4 数据类型(记忆、应用)

3.4.1 计算机存储单元 我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位 (bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最基本的存储单元叫“字节(byte)”, 通常用大写字母”B”表示,字节是由连续的8个位组成。 除了字节外还有一些常用的存储单位,其换算单位如下:

1B(字节) = 8bit

1KB = 1024B 1

MB = 1024KB

1GB = 1024MB

1TB = 1024GB

3.4.2 Java中的数据类型 Java是一个强类型语言,Java中的数据必须明确数据类型。在Java中的数据类型包括基本数据类型和引用数据类型 两种。 Java中的基本数据类型: 说明: e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。 在java中整数默认是int类型,浮点数默认是double类型。

3.5 变量(应用)

3.5.1 变量的定义

变量:在程序运行过程中,其值可以发生改变的量。 从本质上讲,变量是内存中的一小块区域,其值可以在一定范围内变化。

变量的定义格式:  数据类型 变量名 = 初始化值; ;

还可以在同一行定义多个同一种数据类型的变量,中间使用逗号隔开。但不建议使用这种方式,降低程序的可读 性。 变量的使用:通过变量名访问即可.

例如:int a = 10;    //定义了一个int类型的变量,这里的变量指的是内存分配的空间,而不是a,注意区分,10是初始化赋值.

3.5.2 使用变量时的注意事项

1. 在同一对花括号中,变量名不能重复。

2. 变量在使用之前,必须初始化(赋值)。

3. 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写,便于与数字1区分)。因为整数默认是int类型,整数太大可能超出int范围。

4. 定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是 double, double的取值范围是大于float的,类型不兼容。

3.6 标识符(记忆、理解) 标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。

Java中标识符的组成规则: 由字母、数字、下划线“_”、美元符号“$”组成,不能以数字开头。 不能使用java中的关键字作为标识符。 标识符对大小写敏感(区分大小写)。

Java中标识符的命名约定:

小驼峰式命名:一般用于变量名、方法名     首字母小写,从第二个单词开始每个单词的首字母大写。

大驼峰式命名:一般用于类名          每个单词的首字母都大写。 另外,标识符的命名最好可以做到见名知意 ,便于其他人理解,不要给自己找麻烦

3.7 类型转换(理解)

在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。

自动类型转换: 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即 可。例如:

强制类型转换: 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。

强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量;

例如: 说明: 1. char类型的数据转换为int类型是按照码表中对应的int值进行计算的。比如在ASCII码表中,'a'对应97。

1. boolean类型不能与其他基本数据类型相互转换。

2. 整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型

public class HelloWorld {

 public static void main(String[] args) {
 double num = 10; 
// 将int类型的10直接赋值给double类型 System.out.println(num); // 输出10.0 
double num1 = 5.5; 
int num2 = (int) num1; // 将double类型的num1强制转换为int类型 
System.out.println(num2); // 输出5(小数位直接舍弃) 
int a = 'a'; 
System.out.println(a); // 将输出97 
byte b1 = 10; 
byte b2 = 20; 
byte b3 = b1 + b2; // 第三行代码会报错,b1和b2会自动转换为int类型,计算结果为int,int赋值给byte需要强制类型转换。 
// 修改为: int num = b1 + b2; // 或者: byte b3 = (byte) (b1 + b2);
//byte,short,char在参与运算时会自动提升为int类型
}

Java基础语法(01)

1. 运算符

算术运算符+    -    *  /    %

赋值运算符

=   +=   -=  *= /=  %=
自增自减运算符++   --
关系运算符>    <  <=  >=   !=
逻辑运算符&   |   ^  !


1.1.1 运算符和表达式1.1 算术运算符(理解)

运算符:对常量或者变量进行操作的符号

表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。 不同运算符连接的表达式体现的是不同类型的表达式。 举例说明: +:是运算符,并且是算术运算符。 a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。

1.1.2 算术运算符

注意: /和%的区别:两个数据做除法,/取结果的商,%取结果的余数。 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。

 public class HelloWorld {

 public static void main(String[] args) {
int a = 10; 
int b = 3; 
System.out.println(a / b); // 输出结果3 
System.out.println(a % b); // 输出结果1
System.out.println(10.0 / 3);//输出结果为小数3.333333
System.out.println(10 / 3.0);//输出结果为小数3.333333
}

1.1.3 字符的“+”操作

char类型参与算术运算,使用的是计算机底层对应的十进制数值。需要我们记住三个字符对应的数值: 'a' -- 97 a-z是连续的,所以'b'对应的数值是98,'c'是99,依次递加 'A' -- 65 A-Z是连续的,所以'B'对应的数值是66,'C'是67,依次递加 '0' -- 48 0-9是连续的,所以'1'对应的数值是49,'2'是50,依次递加 算术表达式中包含不同的基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。 提升规则: byte类型,short类型和char类型将被提升到int类型,不管是否有其他类型参与运算。 整个表达式的类型自动提升到与表达式中最高等级的操作数相同的类型

等级顺序:byte,short,char --> int --> long --> float --> double

例如: tips:正是由于上述原因,所以在程序开发中我们很少使用byte或者short类型定义整数。也很少会使用char类型定 义字符,而使用字符串类型,更不会使用char类型做算术运算。

1.1.4 字符串的“+”操作 当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算。 // 可以通过使用字符与整数做算术运算,得出字符对应的数值是多少(看+左右!但凡出现字符串必定是字符串的拼接)

public class HelloWorld {

 public static void main(String[] args) {
char ch1 = 'a';
 System.out.println(ch1 + 1); // 输出98,97 + 1 = 98 
char ch2 = 'A'; System.out.println(ch2 + 1); // 输出66,65 + 1 = 66 
char ch3 = '0'; System.out.println(ch3 + 1); // 输出49,48 + 1 = 49 
byte b1 = 10; 
byte b2 = 20; // byte b3 = b1 + b2; // 该行报错,因为byte类型参与算术运算会自动提示为int,int赋值给byte可能损失 精度 
int i3 = b1 + b2; // 应该使用int接收 
byte b3 = (byte) (b1 + b2); // 或者将结果强制转换为byte类型 ------------------------------- int num1 = 10; double num2 = 20.0; double num3 = num1 + num2; // 使用double接收,因为num1会自动提升为double类型 
System.out.println("it"+ 666); // 输出:itheima666
 System.out.println(1+3+"it"+5+6);//输出4it56,分析输出结果
}

符号 作用 说明 = 赋值 a=10,将10赋值给变量a

+= 加后赋值 a+=b,将a+b的值给a

-= 减后赋值 a-=b,将a-b的值给a

*= 乘后赋值 a*=b,将a×b的值给a

/= 除后赋值 a/=b,将a÷b的商给a

%= 取余后赋值 a%=b,将a÷b的余数给a 

注意: 扩展的赋值运算符(+=;-=;*=;/=;%=)隐含了强制类型转换。

1.2 赋值运算符(应用) 赋值运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量。

1.3 自增自减运算符(理解) 注意事项: ++和-- 既可以放在变量的后边,也可以放在变量的前边。 单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。

参与操作的时候:看变量的左边是什么就先执行什么

public class HelloWorld {

 public static void main(String[] args) {
      int i = 10;
      int j = i++ +  ++i +i-- - --i;
System.out.println(i);
System.out.println(j);//分析i,j的值分别是多少
}
}

1.6 三元运算符(理解) 三元运算符语法格式: 解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。其 逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。 

int i = 2;
int j = 3;
int b = i>j? i:j;
System.out.println(b);//输出结果是3,先判断i>j?,显然是false,这时输出j的值

三元运算符案例: 1、需求:动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg,请用程序实现判断两只老虎的体重是 否相同。

2、需求:一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm,请用程序实现获取这三个 和尚的最高身高。 2. 数据输入(应用) 我们可以通过 Scanner 类来获取用户的输入。

使用步骤如下:

1、导包。Scanner 类在java.util包下,所以需要将该类导入。导包的语句需要定义在类的上面。

2、创建Scanner对象。

3、接收数据

public class OperatorTest01 {

public static void main(String[] args) {



//1:定义两个变量用于保存老虎的体重,单位为kg,这里仅仅体现数值即可。

int weight1 = 180; int weight2 = 200;

//2:用三元运算符实现老虎体重的判断,体重相同,返回true,否则,返回false。

boolean b = weight1 == weight2 ? true : false;

//3:输出结果

System.out.println("b:" + b); 
}
 } 

示例: 改写三个和尚案例,数据使用键盘录入。

1.7 关系运算符(应用) 关系运算符有6种关系,分别为小于(<)、小于等于(<=)、大于()>=、等于(==)、大于等于(>=)、不等于(!=)。

注意:关系运算符的结果都是boolean类型,要么是true,要么是false。

千万不要把“==”误写成“=”,"=="是判断是否相等的关系,"="是赋值。

1.8 逻辑运算符

逻辑与    a&b,a和b都是true,结果为true,否则为false(有假便假)

逻辑或    a|b,a和b都是false,结果为false,否则为true(有真便真)

 逻辑异或   a^b,a和b结果不同为true,相同为false

逻辑非    !a,结果和a的结果正好相反(取反)

&&   短路与 作用和&相同,但是有短路效果

|| 短路或 作用和|相同,但是有短路效果

逻辑与&,无论左边真假,右边都要执行。 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。

逻辑或|,无论左边真假,右边都要执行。 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值