黑马程序员技术交流社区
标题:
java基础学习笔记
[打印本页]
作者:
傅开华
时间:
2018-4-3 21:53
标题:
java基础学习笔记
什么是跨平台?
平台:指的是操作系统(Windows,Linux,Mac)
跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行
原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)
1.2.2JVM JRE JDK说明
什么是JVM
JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台
B:什么是JRE
包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JRE:JVM+类库。?
C:什么是JDK
JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
其中的开发工具:编译工具(javac.exe) ?打包工具(jar.exe)等
? JDK:JRE+JAVA的开发工具。
D:为什么JDK中包含一个JRE
为什么JDK中包含一个JRE呢?
开发完的程序,需要运行一下看看效果。
E:JDK,JRE,JVM的作用和关系
JDK包含JRE 和开发工具包
JRE 包含 核心类库和JVM
1.5.2编写代码步骤
首先定义一个类
public class 类名
在类定义后加上一对大括号
{}
在大括号中间添加一个主(main)方法/函数
public static void main(String [] args){ }
在主方法的大括号中间添加一行输出语句
System.out.println(“HelloWorld”);
1.5.4HelloWorld案例常见问题
A:找不到文件(都演示一下,让学生看看出现的都是什么问题)
a:文件扩展名隐藏导致编译失败
b:文件名写错了
B:单词拼写问题(都演示一下,让学生看看出现的都是什么问题)
a:class写成Class
b:String写成string
c:System写成system
d:main写成mian
C:括号匹配问题(都演示一下,让学生看看出现的都是什么问题)
a:把类体的那对大括号弄掉一个
b:把方法体的那对大括号弄掉一个
c:把输出语句的那对小括号弄掉一个
D:中英文问题(都演示一下,让学生看看出现的都是什么问题)
a:提示信息:错误: 非法字符: \????的格式
注意:java编程中需要的基本上都是英文字符
2.1工具安装
2.1.1Notepad软件的安装和配置
为了让我们写的程序错误看起来更直接,我们安装一款高级记事本软件。
Notepad软件的安装和配置
设置 – 首选项 – 新建 – 默认语言和编码
2.2环境变量配置
2.2.1案例说明
为什么要配置
–程序的编译和执行需要使用到javac和java命令,所以只能在bin目录下写程序
–实际开发中,不可能把程序写到bin目录下,所以我们必须让javac和java命令在任意目录下能够访问
如何配置
–创建新的变量名称:JAVA_HOME
计算机-右键属性-高级系统设置-高级-环境变量-系统变量
–为JAVA_HOME添加变量值:JDK安装目录
–在path环境变量最前面添加如下内容
%JAVA_HOME%\bin;
3.1.1常量概述
–在程序执行的过程中,其值不可以发生改变的量
3.1.2常量分类
–字符串常量 用双引号括起来的内容(“HelloWorld”)
–整数常量 所有整数(12,-23)
–小数常量 所有小数(12.34)
–字符常量 用单引号括起来的内容(‘a’,’A’,’0’)
–布尔常量 较为特有,只有true和false
–空常量 null(数组部分讲解)
3.2.1变量概述
–在程序执行的过程中,在某个范围内其值可以发生改变的量
–从本质上讲,变量其实是内存中的一小块区域
3.2.2变量定义格式
–数据类型 变量名 = 初始化值;
–注意:格式是固定的,记住格式,以不变应万变
3.4.1标识符概述
A 作用
–给包,类,方法,变量等起名字
B 组成规则
–由字符,下划线_,美元符$组成
?这里的字符采用的是unicode字符集,所以包括英文大小写字母,中文字符,数字字符等。
–注意事项
–不能以数字开头
–不能是Java中的关键字
C : 命名原则:见名知意
a包
最好是域名倒过来,要求所有的字母小写?
b类或者接口
如果是一个单词首字母大写
如果是多个单词每个单词首字母大写(驼峰标识)?
c方法或者变量
如果是一个单词全部小写
如果是多个单词,从第二个单词首字母大写?
d常量
如果是一个单词,所有字母大写
如果是多个单词,所有的单词大写,用下划线区分每个单词?
1.4.1常用辅助键和快捷键概述
内容辅助键 alt+/
main 然后alt+/
syso 然后alt+/
快捷键
注释
单行 选中内容,ctrl+/, 再来一次取消
多行 选中内容,ctrl+shift+/, ctrl+shift+\
格式化 ctrl+shift+f
1.5Eclipse中项目的删除和导入
A:删除项目
选中项目 – 右键 – 删除
从项目区域中删除
从硬盘上删除
B:导入项目
在项目区域右键找到import
找到General,展开,并找到
Existing Projects into Workspace
点击next,然后选择你要导入的项目
关系运算符包含以下内容:
==,!=,>,>=,<,<=
关系运算符的结果都是boolean型,也就是要么是true,要么是false。
注意事项:
关系运算符“==”不能误写成“=”。
逻辑运算符有哪些
&,|,^,!
&&,||
B:案例演示
逻辑运算符的基本用法
C:注意事项:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
比较表达式:a == b(条件表达式)
D:结论:
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
!逻辑非:非false则true,非true则false。
特点:偶数个不改变本身。
A:&&和&的区别?
a:最终结果一样。
b:&&具有短路效果。左边是false,右边不执行。
&是无论左边是false还是true,右边都会执行
B:||和|的区别?
a:最终结果一样
b:||具有短路效果.左边是true,右边不执行
|是无论左边是false还是true,右边都会执行
2.5.1三元运算符概述
A:格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
B:示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数
键盘录入数据的步骤:
A:导包(位置放到class定义的上面)
import java.util.Scanner;
B:创建对象
Scanner sc = new Scanner(System.in);
C:接收数据
int x = sc.nextInt();
switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,可以结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
1.4.2执行流程
首先计算出表达式的值
其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
2.1.1for循环语句格式:
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
2.1.2执行流程
A:执行初始化语句
B:执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
C:执行循环体语句
D:执行控制条件语句
E:回到B继续
2.3.1while循环语句格式
基本格式
while(判断条件语句) {
循环体语句;
}
扩展格式
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
2.5.1do…while循环语句格式
基本格式
do {
循环体语句;
}while((判断条件语句);
扩展格式
初始化语句;
do {
循环体语句;
控制条件语句;
} while((判断条件语句);
3.1.1Break的使用场景和作用
break的使用场景:
在选择结构switch语句中
在循环语句中
离开使用场景的存在是没有意义的
break的作用:
跳出单层循环
3.2.1continue的使用场景:
在循环语句中
离开使用场景的存在是没有意义的
continue的作用:
单层循环对比break,然后总结两个的区别
break 退出当前循环
continue 退出本次循环
Java已经为我们提供好了产生随机数的类---Random:
?作用:
–用于产生一个随机数
?使用步骤(和Scanner类似)
–导包
?import java.util.Random;
–创建对象
?Random r = new Random();
–获取随机数
?int number = r.nextInt(10);
?产生的数据在0到10之间,包括0,不包括10。
?括号里面的10是可以变化的,如果是100,就是0-100之间的数据
2.2.1数组概念
数组是存储同一种数据类型多个元素的容器。
数组既可以存储基本数据类型,也可以存储引用数据类型。
2.2.2数组的定义格式
格式1:数据类型[] 数组名;
格式2:数据类型 数组名[];
注意:这两种定义做完了,数组中是没有元素值的。
2.3数组的初始化
2.3.1数组初始化概述:
Java中的数组必须先初始化,然后才能使用。
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
2.3.2数组的初始化方式
2.3.2.1动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
格式:数据类型[] 数组名 = new 数据类型[数组长度];
数组长度其实就是数组中元素的个数。
举例:
int[] arr = new int[3];
解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值。
1.1.2方法格式
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) {
函数体;
return 返回值;
}
作者:
小浙姐姐
时间:
2018-4-6 14:09
越努力越幸运
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2