1、Java基础知识入门(Java介绍与IDEA的初步使用)
Java是sun公司1995年的推出的一门计算机高级编程语言。
Java之父:詹姆斯高斯林。
sun公司在2009年被Oracle公司收购。
为什么用Java? 目前最流程编程语言之一,国内应用最广泛。
也是企业级应用开发的首选语言之一,提供了强大的内存管理和垃圾回收机制,能够有效避免内存泄漏等问题,确保程序的稳定运行。
我们学习的是Java SE(Java Standard Edition) 标准版:Java技术的入门和基础,多数用于桌面应用开发。
另外Java EE(Java Enterprise Edition)是企业版:企业级应用开发的一套方案,用于Web方向的网站开发。
Java语言的开发工具是JDK,必须安装了JDK才能够使用Java语言。
JDK产品的发展史:JDK1.0 和1.2 和JDK8的区别是一开始是sun公司以JDK1.x命名后面的x是版本号,那也就意味着JDK8就是JDK1.8的意思。后面为了方便命名就直接JDK + 版本号。LTS表示长期支持版本,永久性保留,现在最新的版本号是JDK21 LTS 和JDK23。23随时不断地更新会被淘汰取代,LTS则长期保存。
值得一提的是:目前国内绝大部分企业都是使用的JDK8 LTS,因为稳定运行,不会崩溃,比如某宝、某东、多数银行系统等等。如果各大企业更换新的JDK版本, 有可能会因为移植衔接不过去造成不必要的损失,所以没有人想去承担这个商业风险~
上课使用的是JDK21,请自行去官网下载正版。
https://www.oracle.com/java/technologies/downloads/
注意:安装路径中千万不要包含中文。
如何验证安装JDK已经成功?
快捷键Windows+R,输入cmd打开管理员命令行窗口,命令行输入java 和 javac 另外也可以输入java -version 和 javac -version 查看版本号
Java是运行的工具,Javac是编译工具。
必须先写好代码,然后进行编译,最后执行程序。
额外学习几个命令行的常用命令:
常用命令 | 作用 |
盘符: | 切换到某个盘下:D:, C: |
dir | 查看当前路径下的文件信息 查看当前路径下的所有文件和文件夹 /b |
cd | 进入单级目录: cd code 进入多级目录: cd D:\code\study\demo1 回退到上一级目录:cd .. 回退到盘符根目录:cd \ |
cls | 清屏 |
利用命令行开发我们的第一个Java程序,前提是已经安装好JDK。如图,新建记事本,命名HelloWorld.java,保存好文件放到D盘中。
通过命令行编译代码和运行代码。此时经过Javac编译后多了一个.class文件,Java执行的程序就是这个class文件。
JDK的组成有以下:
JVM(Java Virtual Machine):Java虚拟机运行程序的地方。
核心类库:Java自己写好的程序,给程序员自己的程序调用的。
JRE(Java Runtime Environment):Java的运行环境。
JDK(Java Development Kit): Java开发工具包(包括上面所有)。
Java的一大特色:跨平台,一次编译,处处可用。
也就意味着运行 Java 应用程序的操作系统上,安装一个与操作系统对应的Java虚拟机(JVM Java Virtual Machine)即可。
IDEA的介绍:(IDEA软件的安装方式参照班群内信息)
IDEA写完代码运行后会在工程项目的文件夹下面有一个out文件夹,编译后的class文件在out文件夹中,也就意味着IDEA软件可以在运行Java程序的时候自动编译文件。
IDEA常用快捷键(主要记住main、sout、Ctrl+D,其余在开发过程中慢慢养成编程习惯)
快捷键 | 功能效果 |
main/psvm、sout、… | 快速键入相关代码 |
Ctrl + D | 复制当前行数据到下一行 |
Ctrl + Y | 删除所在行,建议用Ctrl + X |
Ctrl + ALT + L | 格式化代码 |
ALT + SHIFT + ↑ , ALT + SHIFT + ↓ | 上下移动当前代码 |
Ctrl + / , Ctrl + Shift + / | 对代码进行注释 |
2、Java基础(字面量和变量)
//今日目标1:掌握常用数据表示方式-字面量literal
//1.整数、小数
System.out.println(99);
System.out.println(99.5);
//2.字符:要用单引号包含,必须有且只有一个字符
System.out.println('1');
System.out.println('中');
System.out.println(' ');//空字符
//3.字符串:要用双引号,内容随意 \n 表示换行 \t 表示tab制表符,一般表示缩进2个字符
System.out.println("1234");
System.out.println("\n1");
System.out.println("中国");
System.out.println("\t中国");
//4.布尔值:true false
System.out.println(true);
System.out.println(false);
//今日目标2:掌握变量variable
//变量的定义方式: 数据类型 变量名字 = 初始值;
//需求:钱包有9.5元,收到10元红包,发出去5元红包,输出每个阶段钱包情况
double money = 9.5;
System.out.println(money);
money = money + 10;
System.out.println(money);
money = money -5;
System.out.println(money);
变量命名注意事项:
1.变量名不允许重复定义
2.一条语句可以定义多个变量
3.变量在使用之前一定要进行赋值
4.变量的作用域范围是在 { } 内
关键字和标识符:
关键字指的是Java语言里面已经被占用了的词汇,各有各的作用,我们不能把Java关键字定义成变量名字或者类(class)名字。比如public、class、int、double......
关键字有很多但不需要记忆,写代码的时候软件会提示该词汇不能使用。
标识符就是刚刚所讲的名字,包括了类(class)名和变量名。
标识符的命名组成分为数字0-9、大小写英文字母、下划线(_)和美元符号($)。
值得注意的是:命名不能够以数字作为开头、不能用关键字、区分大小写。
下图标红表示命名错误,不能够使用。
3、Java基础(数据类型)
数据类型 | 内存占用(字节数) | 数据范围 | |
整型 | byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int(默认) | 4 | -2147483648~2147483647 (10位数,大概21亿多) | |
long | 8 | -9223372036854775808 ~ 9223372036854775807 (19位数) | |
浮点型(小数) | float | 4 | 1.401298 E -45 到 3.4028235 E +38 |
double(默认) | 8 | 4.9000000 E -324 到1.797693 E +308 | |
字符型 | char | 2 | 0-65535 |
布尔型 | boolean | 1 | true,false |
数据类型4类8种,常用的是int和double类型,分别用来存储整数和小数。
数据类型的自动转换(了解):
由于每种数据类型在内存中所占字节的不同,在表达式中如果涉及到不同数据类型之间的运算,表达式的最终结果类型由表达式中的最高类型决定。例如:在表达式中,byte、short、char 是直接转换成int类型参与运算的。
char r1 = 'C';
byte r2 = 31;
int r3 = 60;
System.out.println(r1 + r2 + r3);
运算表达式中r1为char字符型变量,对应ASCII码值表C等于67,则结果以int类型输出为158
强制类型转换:大范围数据转小范围数据会报错,可能造成数据(丢失)溢出。如图所示:
浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。
4、Java基础(运算符)
1.基本的算术运算符:加减乘除和取余,简单数学运算不过多讲述。
另外的 “+”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。
运算表达式中能算则算,不能算就连接在一起。
int a = 5 ;
System.out.println("abc" + a); //abc5
System.out.println(a + 5); //10
System.out.println("gzist"+ a + 'a'); //gzist5a
System.out.println(a + 'a' + "gzist"); //102gzist
2.自增自减运算符:i++(先加后用) ++i(先用后加)
3.赋值运算符:a = a +5 可以替换成 a += 5
4.关系运算符:判断两个数据之间的比较结果,返回布尔类型的值:true或者false。
5.逻辑运算符:只需掌握实际开发中常用的三种。
&&: 一个为false、结果是false,但前一个为false,后一个条件不执行了
|| :一个为true、结果是true,但前一个为true,后一个条件不执行了
! :!false=true、 !true=false
6.三元运算符:条件表达式 ? 值1:值2;
关系表达式的值,如果值为true,返回值1,如果为false,返回值2。
//需求:求三个数之中的最大值
int i = 30,j =58,k = 23;
int temp = i>j?i:j;
int max = temp>k?temp:k;
System.out.println(max);
5、Java基础(接收用户输入的数据)
// 1、导包:一般不需要我们自己做,idea工具会自动帮助我们 导包的。
// 2、抄写代码:得到一个键盘扫描器对象(东西)
Scanner sc = new Scanner(System.in);
// 3、开始 调用sc的功能,来接收用户键盘输入的数据。
System.out.println("请您输入您的年龄:");
int age = sc.nextInt(); // 执行到这儿,会开始等待用户输入一个整数,直到用户按了回车键,才会拿到数据。
System.out.println("您的年龄是:" + age);
System.out.println("请您输入您的名字:");
String name = sc.next(); // 执行到这儿,会开始等待用户输入一个字符串,直到用户按了回车键,才会拿到数据。
System.out.println(name + "欢迎您进入系统~~");