typora-root-url: assets
typora-copy-images-to: assets
day01_java核心基础
今日目标
-
-
java语言简介
-
JDK 和 JRE
-
Path环境变量配置
-
HelloWorld案例
-
常用的开发工具
-
注释
-
关键字
-
常量和变量
-
标识符
-
数据类型转换
-
ASCII码表
-
运算符
计算机基本概念
计算机分为软件和硬件
计算机硬件
-
cpu 处理器包括控制器和运算器
-
存储器
-
输入设备和输出设备
计算机软件
-
系统软件 —— 操作系统
-
其他系统软件 —— 驱动、数据库
-
应用软件 —— typora 、 notepad++
语言介绍
计算机语言
-
人与计算机之间进行交流的载体。
-
计算机语言分类
-
机器语言
-
汇编语言
-
高级语言
四类:C 语言、 C++、 JAVA C# 、面向问题的
-
Java语言的简介
平台的版本
-
J2SE: 标准版, 也是其他两个版本的基础. 在JDK1.5的时候正式更名为: JavaSE.
-
J2ME: 小型版, 一般用来研发嵌入式程序. 已经被Android替代了. 在JDK1.5的时候正式更名为: JavaME.
-
J2EE: 企业版, 一般开发企业级互联网程序. 在JDK1.5的时候正式更名为: JavaEE.
特点
-
开源免费
-
跨平台
-
多线程
-
面向对象
-
多态
JDK 和 JRE
-
JDK JRE JVM 核心类库之间的关系
-
JDK 卸载
去控制面板直接卸载就可以了.
小技巧: windows徽标键 + 字母R -> control -> 然后敲回车, 这样可以直接打开控制面板.
Path 环境变量的配置
-
JAVA_HOME value:安装的路径
-
path value: %JAVA_HOME%in %JAVA_HOME%jrein
-
测试: 在 cmd 测试是否安装成功
> java -version
> javac -version
# 输出对应的版本就说明安装成功。
Helloworld的开发步骤(掌握)
开发步骤
-
编辑
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
} -
编译
javac HelloWorld.java
-
执行
java HelloWorld
案例需求:
-
在编辑器中实现一个 helloworld。
可能遇到的问题
遇到的问题
-
非法字符.
注意: 我们使用的符号全部都是英文状态下的符号
-
注意字母的大小写.
注意: Java是严格区分大小写的. 也就是说: A和a不是一回事儿.
-
文件后缀名的问题.
千万不要出现 HelloWorld.java.txt 这种情况
-
在编译或者运行时, 指令及文件名不要写错了.
//编译的格式 javac HelloWorld.java //运行的格式 java HelloWorld
常用的开发工具
开发工具的分类
-
windows记事本
-
高级记事本
-
集成的开发工具
-
IDEA jetbrains,业内公认的开发工具
-
Eclipse
-
MyEclipse
-
IDEA的下载和安装
-
下载的地址
JetBrains公司官网: www.jetbrains.com
直接下载地址: www.jetbrains.com/idea/download/other.html -
安装
-
创建项目和模块
-
创建模块
-
配置SDK 依赖和 sources 语言级别
HelloWorld案例(IDEA版本)
-
IDEA界面的区域划分
-
实现 helloworld 代码
// 当前类所在的包路径
package cn.itcast.javase.HelloWorld;
/**
* Author itcast
* Date 2020/9/30 10:55
* Desc TODO
*/
// 当前类 类名 HelloWorld
public class HelloWorld {
// 当前的入口静态方法 main
public static void main(String[] args){
// 当前方法的中的实现
// 打印输出 hello world 带换行
System.out.println("hello world");
}
}
模块的删除和导入
-
打开 project structure 按钮
-
删除模块
-
导入模块
基本配置和常用快捷键
基本配置
隐藏不需要的文件, 需要在界面的lgnore files and folders选项值后加.idea;.iml;out;即可.
常用的快捷键
注释
-
单行注释
-
多行注释
-
文档注释
案例
// 单行注释 ctrl + /
// 多行注释
/*
* author:itheima
* date:2020-09-30
* */
//文档注释 javadoc
/**
*
*/
关键字
概念
-
在java 中具备特殊含义的单词.
常用的关键字
• public: 公共的权限, 目前先了解即可.
• class: 表示在创建一个类.
• static: 表示静态的意思.
• void: 表示方法的返回值类型.
定义java源代码的格式
工程project -> 模块 module -> 包 package -> 类 class -> 方法 method -> 关键字 变量和常量
public class 类名 {
public static void main(String[] args){
}
//其他方法
}
常量
• 自定义常量(目前先了解, 在面向对象的时候, 才会详细解释)
• 字面值常量
解释: 根据字面意思就可以划分的常量.
整数常量.
例如: 1, 2, 3, 11, 22, 521
小数常量.
例如: 5.21, 13.14
字符常量.
解释: 字符的意思是说只能有一个值, 而且要用单引号括起来
例如: 'A', 'B', 'c', '10'(这样写会报错, 因为10是由1和0两个值组成的)
字符串常量.
解释: 字符串常量值都要用双引号括起来
例如: "abc", "传智播客", "黑马程序员", "大数据"
布尔常量
解释: 比较特殊, 值只有两个
• true, 相当于正确
• false, 相当于不正确
空常量
解释: 比较特殊, 值只有一个: null, 表示什么都没有.
注意: 空常量不能通过输出语句直接打印.
案例
/**
* Author itcast
* Date 2020/9/30 14:38
* Desc 常量的演示
* 6 种类型
*/
public class VariableDemo00 {
// main 方法
public static void main(String[] args) {
//1.整数常量.
// 例如: 1, 2, 3, 11, 22, 521
final int a = 1;
System.out.println(a);
//2.小数常量.
// 例如: 5.21, 13.14
final float b = 5.21f;
final double c = 13.14d;
//3.字符常量. char类型是2个字节
// 解释: 字符的意思是说只能有一个值, 而且要用单引号括起来
// 例如: 'A', 'B', 'c', '10'(这样写会报错, 因为10是由1和0两个值组成的)
final char d = 'A';
final char e = '中';
//4.字符串常量.
// 解释: 字符串常量值都要用双引号括起来
// 例如: "abc", "传智播客", "黑马程序员", "大数据"
final String f="黑马程序员";
//5.布尔常量
// 解释: 比较特殊, 值只有两个
//•true, 相当于正确
//•false, 相当于不正确
final boolean g = true;
final boolean h = false;
//6.空常量
// 解释: 比较特殊, 值只有一个: null, 表示什么都没有.
// 注意: 空常量不能通过输出语句直接打印.
final String EMPTY = null;
}
}
变量
-
变量的使用
–数据类型:变量变化的范围就是数据类型 –变量名:每个变量都有一个名字,方便存取。 –初始化值:使用变量前,需要给变量赋值。
-
变量的定义格式
数据类型 变量名 = 初始化值
-
案例
/** * Author itcast * Date 2020/9/30 14:55 * Desc 定义或者初始化变量的值 */ public class VariableDemo01 { //定义变量, 记录班级的学生人数, 并将结果打印到控制台上. public static void main(String[] args) { //定义班级的人数 int clsNum = 50; System.out.println(clsNum); } }
-
Java是一种强类型语言, 针对于每一个数据都给出了明确的数据类型.
-
基础数据类型
byte, short, char, int, long, float, double, boolean
-
引用数据类型
String 数组等.
-
-
数据类型的分类
记忆
byte类型的取值范围是: -128 ~ 127,char类型的取值范围是: 0 ~ 65535
默认的整形是: int类型, 默认的浮点型(即: 小数类型)是: double类型.
定义long类型的数据时, 数据后边要加字母L(大小写均可), 建议加L
定义float类型的数据时, 数据后边要加字母F(大小写均可), 建议加F
定义double类型的数据时, 数据后边要加字母D(大小写均可), 建议加D
-
变量使用的注意事项
-
变量未赋值,不能使用.
-
变量只在它所属的范围内有效.
-
一行上可以定义多个变量,但是不建议.
-
案例:
/**
* Author itcast
* Date 2020/9/30 15:07
* Desc TODO
*/
public class VariableDemo02 {
//2. 定义main方法, 作为程序的主入口.
public static void main(String[] args) {
//3. 测试byte类型.
//3.1 定义一个byte类型的变量, 变量名叫b, 初始化值为10.
byte b = 127;
//3.2 将变量b的值打印到控制台上.
System.out.println(b);
Byte b1 = 10;
//4. 测试short类型.
//4.1 定义一个short类型的变量, 变量名叫s, 初始化值为20.
short s = 20;
//4.2 将变量s的值打印到控制台上.
System.out.println(s);
Short s1 = 30;
//5. 测试char类型.
//5.1 定义一个char类型的变量, 变量名叫c, 初始化值为'A'.
char c = 'A';
//5.2 将变量c的值打印到控制台上.
System.out.println(c);
Character c1 = 'B';
//6. 测试int类型
int a = 10;
System.out.println(a);
Integer a1 = 20;
//7. 测试long类型, 数据后记得加字母L.
long lon = 100L;
System.out.println(lon);
Long lon2 = 200l;
//8. 测试float类型, 数据后边加字母F.
float f = 10.3F;
System.out.println(f);
Float f1 = 102.3f;
//9. 测试double类型.
double d = 5.21;
System.out.println(d);
Double d1 = 3.22d;
//10. 测试boolean类型.
boolean bb = true;
System.out.println(bb);
Boolean b2 = false;
int x,y,z;
int q;
}
}
标志符
-
规则
-
标识符只能包含52个英文字母(区分大小写)、0 ~ 9数字 、$(美元符号)和_(下划线)。
-
标识符不能以数字开头。
-
标识符不能和Java中的关键字重名。
-
最好做到见名知意.
例如: name表示姓名, age表示年龄.
-
数据类型转换
-
概念
不同类型的数据之间可能会进行运算,而这些数据取值范围不同,存储方式不同,直接进行运算可能会造成数据损失,所以需要将一种类型转换成另外一种类型再进行运算。
-
转换分类
-
隐式类型转换
-
显式类型转换
强制将大类型转换成小类型.
-
-
需求
尝试把小数1.5赋值给int类型的变量a, 并打印结果.
public class DataTypeDemo02 { public static void main(String[] args) { //1. 定义int类型的变量a. int a; //2. 尝试将1.5赋值给变量a. //这行代码会报错, 大范围的数据赋值给小范围的数据类型, 必须通过`强制转换`格式实现. //a = 1.5; a = 10; //这样写没问题. //3. 打印结果. System.out.println(a); } }
-
int 类型 + short 类型的底层累加
-
命名规范
-
类, 接口的命名规范: 每个单词的首字母都大写, 其他字母全部小写.(大驼峰命名法)
例如: HelloWorld, VariableDemo.
-
变量, 方法的命名规范: 从第二个单词开始, 每个单词的首字母都大写, 其他字母全部小写(小驼峰命名法).
例如: zhangSanAge, studentName
-
常量(指的是: 自定义常量)的命名规范: 所有字母都大写, 单词之间用_(下划线)隔开.
例如: MAXVALUE, MINVALUE, PI
注意: 目前先了解即可, 面向对象部分详细解释.
-
包的命名规范: 所有字母全部小写, 多级包之间用.(点符号)隔开, 一般是公司的域名反写.
例如: cn.itcast, com.itheima
-
ASCII码表
• 编码表:就是将人类的文字和一个十进制数进行对应起来组成一张表格。 ‘a’ -> 97 char:0-65535
• 存储字符时:需要查找ASCII码表,找到字符对应的数字,将数字转换为二进制数存放到计算机中
• 使用字符时:将对应的二进制数转换为十进制 找到ASCII表中对应的字符 显示出来
• 将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII码表.
运算符
概述
• 运算符和表达式
– 运算符:用来连接常量或者变量的符号, 就叫运算符.
– 表达式:用运算符把常量或者变量连接起来符合java语法的式子就称之为表达式。
• 不同运算符连接的表达式体现的是不同类型的表达式。
例如:
– +(加号) 是运算符,并且是算术运算符。
– a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。
分类
• 算术运算符
• 赋值运算符
• 比较(关系)运算符
• 逻辑运算符
• 三元(三目)运算符
算术运算符
算数运算符包括: | 作用 |
---|---|
+ | 加法运算,字符串连接运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算 |
% | 取模运算,两个数字相除取余数 |
++ | 自增运算符, 相当于自身 + 1 |
-- | 自减运算符, 相当于自身 - 1 |
注意
•Java中, 整数相除, 结果还是整数.
•+ 符号在字符串中的操作:
– + 符号在遇到字符串的时候,表示连接、拼接的含义。
– "a"+"b"的结果是“ab”,连接含义
public static void main(String[] args){
System.out.println("5+5="+5+5);//输出5+5=55
}
自增自减运算符
符号 | 作用 | 说明 |
---|---|---|
++ | 自增 | 变量的值加1 |
-- | 自减 | 变量的值减1 |
解释: ++ 是变量自增加1, -- 相反 是变量减1.
-
独立运算
没有变化
-
混合运算
和其他变量放在一起, ++在前会先计算后赋值, ++在后会先赋值后计算
• 独立运算:
– 变量在独立运算时,前++和后++没有区别 。
– 变量前++ :例如 ++i 。
– 变量后++ :例如 i++ 。
/**
* Author itcast
* Date 2020/9/30 16:32
* Desc TODO
*/
public class TypeTransform {
private static final String USERNAME_NICK="zhangsan";
public static void main(String[] args) {
char c = ' ';
int i = 0;
int j = 0;
int x=0;
int y=0;
//字符类型和int类型计算
System.out.println(c+i); //输出结果是???
i++;
System.out.println(i);
// 先赋值再累加
int d = x++;
// 先累加再赋值
int e = ++y;
System.out.println(d);
System.out.println(e);
}
}