Java快速入门、IDEA工具的使用

Java的概述

  • Java是sun公司1995年推出的,2009年被oracle收购
  • Java的爸爸:詹姆斯.高斯林
  • Java是一门高级编程语言:语言风格接近人类的自然语言,写程序简单易懂
  • Java的流行度很高,商业占用率很高
  • Java很重要的特性:可移植性
  • Java能干啥?
  • 什么都可以干,但是最被市场认可的是企业级开发:京东、淘宝这样的互联网系统
  • Java的技术体系
  • JavaSE:标准版:Java技术的核心和基础
  • JavaEE:企业版:大型互联网企业级解决方案:充分被市场认可
  • JavaME:小型版:移动应用的解决方案:没有被市场认可

Java的产品

  • JDK:Java的开发者工具包,必须安装它才可以使用Java
  • 去Oracle官网下载,安装时不要放在空格和中文路径下
  • 企业可能使用JDK8
  • LTS:长期支持版:JDK8、11、17
  • JDK中要用的两个最重要的程序
  • Javac:编译程序
  • Java:执行程序
  • JDK安装后要验证是否安装成功
  • 打开命令窗口:Win+R --> cmd 回车
  • 依次输入:Java、Javac、Java -version 看提示有没有问题
  • 补充知识:常用命令行命令
  • cls:清屏
  • cd:进入到某目录
  • dir:查看当前目录下的内容
  • 盘符:切盘

开发一个Java的入门程序:HelloWorld

  • 编写代码
  • 建议全英文名称,首字母大写,后缀一定是.java结尾
  • 代码写啥
  • public class HelloWorld{
  • public static void main(String[] args){
  • System.out.println("HelloWorld");}}
  • 编译代码:javac HelloWorld.java 产生class文件:HelloWorld.class
  • 执行代码:java HelloWorld 输出:HelloWorld

Java的执行原理

  • Java程序最终会翻译,解释成计算机能识别的机器语言:010101……这样的形式驱动机器干活
  • BUG:代表程序出现问题或者漏洞的意思
  • DEBUG:解决问题的意思

Path环境变量,JAVA_HOME

  • Path的作用:
  • 记住程序的路径,方便在命令行窗口的任意目录驱动程序
  • 新版本的JDK安装时会自动配置javac和java程序的路径到path环境变量中去。所以,javac和java可以在命令行窗口直接使用
  • 重点注意:老版本的JDK安装不会自动配置javac和java程序的路径到path环境变量中去,需要手动配置javac和java到path中去
  • path--->安装路径\bin
  • JAVA_HOME:安装路径
  • 多学一招:
  • path--->安装路径\bin 不建议这样配置
  • path---->%JAVA_HOME%\bin 建议这样配置

开发工具:Intellij IDEA

  • 集成开发工具(IDE工具):
  • 优势:工程结构化管理项目、有错误提醒、有智能代码补全……
  • IDEA去官网下载安装:傻瓜式安装
  • IDEA开发第一个程序
  • 创建工程:project
  • 创建模块:module
  • 创建一个包:package

Java基础语法

  • 注释:
  • 作用:对程序进行解释说明的文字,不影响程序执行
  • 分类:
  • 单行注释://
  • 多行注释:/* */
  • 文本注释:/** */ :文档注释的内容可以提取到程序说明书中去
  • 注意:不影响程序执行的原因是编译后class文件中没有注释了
  • 字面量:
  • 字面值
  • 目的:告诉程序员数据在程序中如何书写
  • 字面量的分类
  • 整数、小数:生活中与程序中的写法一致
  • 字符:程序中必须用单引号围起来,且只能有一个字符
  • 字符串:程序中必须用双引号围起来,内容随意
  • 布尔值:false、true
  • 空值:null
  • 变量
  • 作用:内存中的一块区域,里面存储了一个可以变化的数据
  • 格式:数据类型 变量名 = 初始值;
  • 赋值(=):从右往左执行
  • 变量使用注意事项
  • 必须先声明才能使用
  • 什么类型的变量只能存放什么类型的数据
  • 变量从定义开始到}有效,在一个有效范围内不能定义重名的变量
  • 变量定义的时候可以没有初始值,但使用前必须使有初始值
  • 变量在计算机中的底层原理
  • 变量存储的是数据的二进制形式
  • 二进制计算规则:逢二进一
  • 文字怎么存储到计算机底层:ASCLL编码表固定了常见字符对应的数字:存储字符对应的二进制形式
  • 图片、音频存储的都是二进制形式
  • 补充知识
  • 二进制转十进制:乘权求和
  • 二进制转八进制:
  • 作用:方便观察二进制
  • 方法:每三位一组计算求和
  • 八进制格式:以0开头
  • 二进制转十六进制:
  • 作用:方便观察二进制
  • 方法:每四位一组计算求和
  • 十六进制格式:以0x开头
  • 二进制格式:以0b开头
  • 数据类型:
  • 定义变量:数据类型 变量名 = 初始值;
  • 作用:约束变量只能存储什么类型的数据,帮助定义出不同类型的变量
  • 数据类型分类
  • 引用数据类型:String
  • 基本数据类型
  • 整型
  • byte:字节整型
  • 占1个字节
  • 范围:-127-128
  • short:短整型
  • 占2个字节
  • int:整型(默认)
  • 占4个字节
  • long:长整型
  • 占8个字节
  • 浮点型(小数)
  • float:单精度
  • 占4个字节
  • double:双精度
  • 占8个字节
  • 字符型:
  • char
  • 占2个字节
  • 布尔型:
  • boolean
  • 占1个字节
  • 注意事项:整型默认是int类型,需要转换成long类型在后面加L/l
  • 注意事项:小数默认是double类型,需要转换成float类型在后面加F/f
  • 关键字\标识符
  • 关键字:java自己使用的,我们不能用来取名字
  • 标识符:我们自己取的名字
  • 规则:不能用数字开头,不能用关键字,区分大小写
  • 类型转换
  • 原因:开发中会存在不同类型的变量或数据赋值给其他类型的变量,也存在不同类型的数据一切运算,其结果类型也要确定下来
  • 自动类型转换:
  • 原理:小范围类型的变量可以直接赋值给大范围的变量
  • 范围信息:byte ->short(char) ->int ->long ->float ->double
  • 形式:
  • byte a = 21;
  • int b = a;
  • 注意:
  • char ch = 'a';
  • int code = ch;
  • 表达式的自动类型转换
  • 含义:在表达式中,小范围类型的变量会自动提升到大范围进行计算
  • 结论:表达式的最终结果数据类型是由表达式中的最高数据类型决定的
  • 注意:byte、short、char在表达式中直接提升成int进行运算
  • 面试笔试题:
  • byte b1 = 21; byte b2 = 22;
  • 正确形式:
  • int b3 = b1 + b2;
  • byte b3 = (byte)(b1 + b2);
  • 错误形式:byte b3 = b1 + b2;
  • 强制类型转换
  • 含义:大范围类型的变量或者数据不能直接赋值给小范围类型的变量,负责报错!必须进行强制类型转换才可以
  • 格式:数据类型 变量 = (数据类型) 其他类型的数据/变量
  • 注意:
  • 强制类型转换可能出现数据丢失
  • 浮点型数据强制转换为整形数据,保留整数部分,去掉小数部分
  • 运算符:
  • 基本算术运算符
  • 常见:+、-、*、/、%
  • 注意:/两个整数相除时结果一定是整数
  • +符号做连接符
  • 场景:+符号与字符串一起运算时,充当连接符,连接后的结果是一个字符串
  • 识别技巧:能算则算,不能算就在一起
  • 自增自减运算符
  • ++:对变量进行+1操作
  • --:对变量进行-1操作
  • 注意事项:
  • 只能操作变量,不能操作字面量
  • ++或--,单独使用,放在变量前后,没有区别
  • ++或--,如果不单独使用
  • 在变量前:先+1或-1在使用变量
  • 在变量后:先使用变量,在+1或-1
  • 赋值运算符
  • =、+=、-+、*=、/=、%=
  • 含义:如a+=b;
  • 等价于:a = (a的类型)(a + b)
  • 用处:
  • 适合做数据的累加操作
  • 自带强制类型转换
  • 关系运算符
  • ==、!=、>、>=、<、<=
  • 作用:判断是否满足条件,返回true或false
  • 逻辑运算符
  • &&、&、||、|、! 、^
  • &&(短路与):且的意思,前后都是true,结果就是true,如果前面是false后面不执行
  • &(逻辑与):且的意思,前后都是true,结果就是true,如果前面是false后面要执行
  • ||(短路或):或的意思,只要前后有一个true,结果就是true,如果前面是true后面不执行
  • |(逻辑或):或的意思,只要前后有一个true,结果就是true,如果前面是true后面要执行
  • !(取反):!false = true; !true = false;
  • ^(异或):前后一样返回false,不一样返回true
  • 三分运算符:做分支选择,关键是格式
  • 条件表达式 ?值1 : 值2;
  • 运算符优先级:运算符谁先执行谁后执行的情况
  • () 优先级最高
  • *、/高于+、-
  • &&高于||
  • 案例知识:键盘录入技术
  • Java自己提供的给程序员调用的
  • API文档:应用程序编程接口,技术说明书,告诉我们该怎么使用Java的程序
  • 键盘录入技术:
  • 导包(自动导包):import java.util.Scanner;
  • 创建一个扫描器对象:Scanner sc = new Scanner(System.in);
  • 等待接收用户的数据:
  • int age = sc.nextInt();
  • String name = sc.next();