学习目标
安装JDK
编写第一个Java程序
安装IDEA
Java 基本数据类型
相关介绍
Java是个编程语言 C C++ Java (中等) JS python R Go
Java软件工程师 Java服务器开发工程师
软件工程师使用编程语言开发软件的人
编程语言:和计算机进行沟通的语言;提前定义好的一套语法规则
计算机的组成:硬件 软件
硬件:看得到的实物 都是硬件 CPU 主板 内存条 硬盘
软件:系统软件(操作系统软件 Windows软件 Linux操作系统软件) 应用软件(除了操作系统软件之外的所有软件) Java工程师开发的是应用软件;
Java的历史
1,Java语言的发展历史
91 年开始进行研发 oak语言
95年发布第一个版本 Java语言 Java1.0
Java1.1
Java1.2
Java1.4
Java1.5 更名 为Java5
Java6
Java7
Java8
.。。。
Java20
2,Java SUN公司研发 被Oracle公司收购 甲骨文公司 Java是Oracle的一个产品
JDK:Java development kit Java开发工具包(想要使用Java进行开发 必须先安装好JDK)
JVM:Java virtual machine Java虚拟机
JRE:Java runtime environment Java运行时环境 Java程序运行过程中必须具备的环境
JDK包含JRE的 JRE包含JVM;只需要按照JDK 一步到位
3,安装 JDK
企业 最稳定的版本 经过时间验证的版本
JAVA8 JDK8
JAVA11 JDK11 (使用的版本)
JAVA17 JDK17
a,从Oracle官网下载安装包,进行安装
b,配置环境变量 JDK安装配置成功了
4,Java对应的版本
JavaSE:Java standard edition Java标准版本
JavaEE:Java enterprise edition Java企业版本
JavaME:Java micro edition Java微版本 移动端软件的开发
5,编写第一个Java程序
Java程序的执行
a,先编译 ;程序员写的代码是源代码 源代码所在的文件 这个文件称之为源文件(后缀必须是 .java)
把源文件经过 编译器编译为 字节码文件(后缀 是.class)
源文件如果有语法错误 编译会失败的
代码一旦被改动 必须重新编译
b, 运行
java A
6,注意问题
a, java语言严格区分大小写 A和a不一样的;
集成开发工具
提高程序员 开发效率
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列,Borland的C++ Builder、Delphi系列等。该程序可以独立运行,也可以和其它程序并用。IDE多被用于开发HTML应用软件。例如,许多人在设计网站时使用IDE(如HomeSite、DreamWeaver等),因为很多项任务会自动生成。
IDEA eclipse
使用IDEA
1,新建工程
选择工程的JDK版本, 指定工程所在的路径及工程名称
2,引入包机制,在包中新建源文件
为了解决类名冲突的问题 引入包机制 ; 包 子级目录 包一般使用公司域名的倒写
//包的信息 package com.edu.www; //为了解决类名冲突的问题 引入包机制 包 子级目录 包一般使用公司域名的倒写 //约定俗成: www.baidu.com com/baidu/www www.edu.com //4,源文件名必须和类名保持一致 class后面的名称之为类名 public class HelloWorld { //1, main方法是主的方法 程序执行入口方法 public static void main(String[] args) { //2,Java严格区分大小写 //3, 语句的结束必须使用分号,出现的所有标点符号都是英文模式的 System.out.println(10 + 19); } }
3,注释
package com.edu.www; //注释:不是代码不能执行 给人看的 不是给计算机执行的 // 1 单行注释 /* 2 多行注释 2 多行注释 2 多行注释 2 多行注释 */ /** 3 文档注释 其实也是多行注释 * */ public class HelloWord2 { }
基本数据类型
数值类型 整数类型 byte short int long 小数 float double 字符类型 char 布尔类型 boolean (true false)
-
Java数据类型分为2大类 基本数据类型 和 引用数据类型(面向对象)
-
Java总共有8个基本数据类型,除了这8个基本数据类型之外 其他类型都是引用数据类型
-
基本数据类型的名称全部都是小写
-
存储单位 1GB=1024MB 1MB=1024KB 1KB =1024B 1B=8bit 计算机底层 0 1
-
数值类型 都有 正负之分
数据类型 | 占用字节 | 表数范围 |
---|---|---|
byte | 1 | -2^7 至 2^7-1 |
short | 2 | -2^15至 2^15-1 |
int | 4 | |
long | 8 | |
float | 4 | |
double | 8 | |
char | ||
boolean |
1,整数类型
byte short int long
注意点:整型的数值默认认为是int类型;如果给long类型的变量赋值 需要在数值后面加 L/l
/** * 1,整型数据类型 */ public static void method1() { //整型的数据类型 byte b = 127; System.out.println(Byte.MIN_VALUE); System.out.println(Byte.MAX_VALUE); short num1 = 32767; //查看short的表数范围 System.out.println(Short.MIN_VALUE); System.out.println(Short.MAX_VALUE); int num2 = 2147483647; // 查看int 的表数范围 System.out.println(Integer.MIN_VALUE); System.out.println(Integer.MAX_VALUE); //注意点:整型的数值默认认为是int类型;如果给long类型的变量赋值 需要在数值后面加 L/l long num3 = 9223372036854775807L; // 查看long 的表数范围 System.out.println(Long.MIN_VALUE); System.out.println(Long.MAX_VALUE); }
2,浮点类型
float :单精度
double:双精度
注意点:小数值默认都是double 给float变量赋值的时候需要在数值后面加F/f
/** * 2, 浮点类型 */ public static void method2() { double num1 = 3.66; System.out.println(Double.MIN_VALUE); System.out.println(Double.MAX_VALUE); //注意点:小数值默认都是double 给float变量赋值的时候需要在数值后面加F/f float num2 = 3.5f; System.out.println(Float.MIN_VALUE); System.out.println(Float.MAX_VALUE); }
3,字符类型
/** * 3 字符类型 给字符类型赋值 使用单引号 注意点单引号中只能出现一个符号(字符) */ public static void method3() { char num = 'a'; char gender = '男'; }
4,布尔类型
/** * 4 布尔类型只有2个值 true false */ public static void method4() { boolean num = true; boolean num1 = false; }
变量
-
变量:在运行过程中 其值可以进行变化的量;
-
标识符 凡是自己起名字的地方 都称之为标识符 类名 方法名 变量名都是标识符
-
1 组成成分 : 英文符号(大小写),数字符号,下划线_ ,$
-
2, 数字不能打头
-
3,不能和关键字重名 ;关键字(JDK内定好的单词 有特殊用途的)
-
4,见名知义 遵守驼峰标志 类名的首字母是大写的 方法名和变量名的首字母小写的
-
/** * 变量:在运行过程中 其值可以进行变化的量 * <p> * 声明变量 * 对变量赋值 * <p> * 标识符:凡是自己起名字的地方 都称之为标识符 类名 方法名 变量名都是标识符 * 1,组成成分 : 英文符号(大小写),数字符号,下划线_ ,$ * 2, 数字不能打头 * 3,不能和关键字重名 ;关键字(JDK内定好的单词 有特殊用途的) * 4,见名知义 遵守驼峰标志 类名的首字母是大写的 方法名和变量名的首字母小写的 */ public static void method6() { // 声明变量的语法: 任意数据类型 变量名; int javaScore; // 对变量赋值 javaScore = 12; javaScore = 99; //声明的时候 直接赋值 int num3 = 99; //2,变量不能重复声明 变量只能被声明一次 // float num3; //1, 变量在使用之前 一定要赋值 System.out.println(javaScore); String num2; }
基本数据类型的转换
-
boolean不参与他们的转换
-
自动转换 表数范围小的都可以自动转换为表数范围大的类型的值
-
byte, short,char->int->long->float->double
-
-
强制转换 表数范围大的类型的值 需要 强制转换为 表数范围小的;需要强制转换符 (小)
-
有可能会发生 数据溢出 精度丢失
-
/** * 强制转换 */ public static void method9() { // 表数范围大的类型的值 需要 强制转换为 表数范围小的;需要强制转换符 (小) //有可能会发生 数据溢出 精度丢失 //double -> int 强制转换符 int num1 = (int) 6.6; System.out.println(num1); long num2 = (long) 2.6; System.out.println(num2); float num3 = 2.6666666666F; byte num4 = (byte) 356; System.out.println(num4); } /** * 自动转换 */ public static void method8() { //表数范围小的都可以自动转换为表数范围大的类型的值 // int 2 -> double 2.0 double num1 = 2; System.out.println(num1); //long 12L -> double 12.0 double num2 = 12L; System.out.println(num2); //long -> float float num3 = 12L; // char -> int 'a'-> 字符编码 a->97 A->65 int num4 = 'A'; System.out.println(num4); }
运算符
/** * 3,复合赋值运算符 += -= *= /= %= */ public static void method3() { int num = 10; num += 9;//等价于 num = num+9; num -= 9;//等价于 num = num-9; num *= 9;//等价于 num = num*9; num /= 9;//等价于 num = num/9; num %= 9;//等价于 num = num%9; System.out.println("num: " + num); } /** * 2,算数运算符 + - * /(整除 要的是商) %(取余 要的是余数) */ public static void method2() { int op1 = 16; int op2 = 3; System.out.println(op1 + op2); System.out.println(op1 - op2); System.out.println(op1 * op2); System.out.println(op1 / op2); System.out.println(op1 % op2); int num1 = op1 + op2; System.out.println("num1: " + num1); int num2 = op1 % op2; System.out.println("num2: " + num2); } /** * 对数据进行的操作 * 1- 赋值运算符 = */ public static void method1() { //把等号右边的值 赋值给等号左边的变量 int num = 12 + 11; System.out.println(num); int op1 = 10; int op2 = 20; op1 = op2; System.out.println("op1: " + op1); System.out.println("op2: " + op2); }