记录自己的学习累计过程
目录
前言
本文主要介绍了Java开始学习的基础内容。
正文
一、java快速入门
java开发环境的准备:JDK简介、安装、常用命令
-
java是什么
- 是一门高级编程语言
-
java是哪家公司研发的,现在属于哪家公司
- sun公司 Oracle公司
-
java之父是谁
- 詹姆斯·高斯林
-
java能做什么?
- 基本上什么都可以干,主要做互联网系统的开发
-
java有哪些技术平台
- javaSE(标准版)、javaEE(企业版)、javaME(小型版)
-
搭建java开发环境需要安装什么?去那里下载?
- JDK(java Development Kit)开发者工具包,Oracle官网下载。
-
JDK目前发展到哪里了,LTS版本有那些,企业使用的JDK有什么特点?
- JDK17,JDK8、11、17,很多企业还在使用JDK8。
-
如何验证JDK是否安装成功了?
- 在命令行窗口中,输入java -version、 javac -version看版本号。
-
java开发环境最重要的2条命令是什么?
- javac编译命令,java执行命令。
-
几个命令行窗口常用命令
Java入门程序-HelloWord
- 开发一个java程序要经历那些步骤?
- 编写、编译(javac)、运行(java)
- java代码编写有什么基本要求?
- 文件名的后缀必须以java结尾。
- 文件名必须与代码类名保持一致。
- 必须使用英文模式下的符号。
HelloWord程序常见问题
- HelloWord案例常见错误?
- Windows的文件扩展名没有勾选。
- 代码写了但忘记保存。
- 文件名和类名不一致
- 大小写错误,单词拼写错误,存在中文符号,找不到main方法
- 括号不匹配
- 编译工具使用不当
- ...
Java程序执行原理
- java程序执行的原理是什么样的?
- 不管是什么样的高级编程语言,最终都是编译成计算机底层可以识别的机器语言。
- 机器语言由什么组成?
- 0和1.
JDK组成、跨平台原理
- JDK组成有哪些?
- JVM虚拟机:真正运行java的地方
- 核心类库:java自己写好的程序,供咱们的程序调用
- 开发者工具:java/javac、...
- java的跨平台含义,java如何实现跨平台?
- 一次编译、处处可用
- 我们的程序只需要开发一次,就可以在各类安装了JVM的系统平台上运行
JDK安装后path和java_home环境变量
-
什么是path环境变量?
- path环境变量适用于配置程序的路径。
- 方便我们在命令行窗口的任意目录启动程序。
- (path %JAVA_HOME%\bin)
-
JDK安装时,环境变量需要注意什么?
- 较新版本的JDK会自动配置path环境变量,较老版本的则不会。
- 建议自己配置“Path”、“JAVA_HOME”
二、IDEA开发工具的使用
1、lntelliJ IDEA开发工具概述、安装
- 官网搜索IntelliJ IDEA下载,傻瓜式安装。
IDEA编写第一个程序
- IDEA的结构是什么样的?
- project(工程) - module(模块) - package(包) - class(类)
- project中可以创建多个module
- module中可以创建多个package
- package中可以创建多个class
- 新建操作
- new project/module/package/class
2、IDEA字体、主题、背景色设置
- 网上案例
3、IDEA常用快捷键介绍
4、IDEA工程模块常用操作
- 删除类文件
- 修改类名称
- 修改模块
- 导入模块
- 删除模块
- 打开工程
- 关闭工程
三、java基础语法
1、注释
- 注释是什么?
- 写在程序中对程序进行解释说明的文字。
- java程序中书写注释的方式有几种,各自有什么不同?
- 单行注释://
- 多行注释:/* */
- 文本注释:/** */
- 注释有什么特点?
- 不影响程序的执行,编译后的class文件中已经没有注释。
- 注释的快捷键是怎样的?
- ctrl+/ 单行注释(对当前代码进行注释)
- Ctrl+shift+/ 多行注释(对选中代码进行多行注释)
2、字面量
- 字面量告诉我们什么知识?
- 数据在程序中的书写格式。
- 字符、字符串在程序中书写格式有什么要求?
- 字符必须用单引号围起来,有且只有一个字符。
- 字符串必须用双引号围起来。
- 常见的几个特殊值的书写格式。
常用的数据类型 | 生活中的写法 | 程序中的写法 | 说明 |
整数 | 666,-88 | 666,-88 | 写法一致 |
小数 | 13.14,-5.21 | 13.14,-5.21 | 写法一致 |
字符 | A,0,我 | 'A','0','我' | 程序中必须使用单引号,有且仅能一个字符 |
字符串 | 不断学习 | "不断学习" | 程序中必须使用双引号,内容可有可无 |
布尔值 | 真,假 | true,false | 只有两个值:true:代表真,false:代表假 |
空值 | 值是:null | 一个特殊的值,空值 | |
换行 | 回车 | \n | 代表换行的意思 |
一个Tab | Tab键 | \t | 代表一个Tab距离 |
3、变量
- 变量的作用
- 储存一个数据的,可以改变里面储存的数据。
- 变量的格式
- 数据类型 变量名称 = 初始值。
- 变量使用注意事项
- 变量要先声明在使用
- 变量声明后不能储存其他数据类型
- 变量的有效范围是从定义开始到“}”截止,且在同一个范围内不能定义两个同名的变量
- 变量在定义的时候可以没有初始值,但在使用的时候必须给初始值。
变量在计算机底层原理
- 数据在计算机底层都怎么存储?
- 都是采用二进制:使用0,1,按照逢二进一的规则来表示数据的存储。
- 如何快速算出一个数据的二进制形式?
- 除二取余法
- 数据在计算机底层存储的最小单位是什么?
- 字节,一字节等于八个二进制位:1B=8b
- 字符数据在计算机中是怎么存的?
- 字符存的是ascii码表中对应数字的二进制形式
- 字符“A”对应的数字是65
- 字符“a”对应的数字是97
- 字符“0”对应的数字是48
- 图片和声音,视频等文件的数据是怎样存储的
- 采用二进制存储
- 二进制计算十进制
- 二进制计算八进制
- 每3位二进制作为一个单元,最小数是0,最大数是7,0-7有8个数字
- 二进制计算十六进制
- 每4位二进制作为一个单元,最小数是0,最大数是15
- 0-15有16位数字,依次用:0~9 A B C D E F代表
- 数据大小的单位换算
4、数据类型
数据类型 | 关键字 | 取值范围 | 内存占用(字节数) |
整数 | byte | -128~127 | 1 |
short | -32768~23767 | 2 | |
int(默认) | -2147483648~2147483647(10位数) | 4 | |
long | -9223372036854775808 ~ 9223372036854775807(19位数) | 8 | |
浮点数 (小数) | float | 1.401298e-45到3.402823e+38 | 4 |
double(默认) | 4.9000000e-324到1.797693e+308 | 8 | |
字符 | char | 0~65535 | 2 |
布尔 | boolean | true,false | 1 |
- 数据类型分几种?
- 引用数据类型:string
- 基本数据类型:4大类8种。
- byte,short,int(默认)、long 整型
- float、double(默认) 浮点型
- char 字符型
- Boolean 布尔型
- 随便写整数小数字面值默认什么类型?
- 23,默认int类型,加上L/l就是long类型。
- 23.8 ,默认double类型,加上F/f就是float类型。
5、关键字、标志符
- 关键字特点
-
- java自己保留的,我们不能用来起名字。
- 标识符
-
- 取名的规则,数字,字母,下划线,美元符等组成
- 数字不能开头,不能是关键字。
四、类型转换
- 为什么要进行类型转换?
- 存在不同类型的变量赋值给其他变量
- 自动类型转换是什么样的?
- 类型小的变量可以直接赋值给类型打的变量。
- 表达式自动类型转换是什么样的?
- 小范围的类型会自动转换成大范围类型运算。
- 表达式最终类型结果有谁决定?
- 最终由表达式中的最高类型决定。
- 表达式的有哪些类型转换是需要注意的?
- byta short char 是直接转换成int类型参与运算的。
- 什么是强制类型转换?
- 可以强行将类型范围大的变量、数据赋值给类型小范围的变量。
- 数据类型 变量 = (数据类型)变量、数据
- 强制类型转换有哪些需要注意的?
- 可能出现数据丢失。
- 小数强制转换成整数是直接截断小数保留整数。
运算符
类型 | 符号 | 作用 | 说明 |
基础运算符 | + | 加 | 参考小学一年级 |
- | 减 | 参考小学一年级 | |
* | 乘 | 参考小学二年级,与“X”相同 | |
/ | 除 | 与“÷”相同,注意在java中两个数相处结果还是整数 | |
% | 取余 | 获取两个数据的除法做余数 | |
自增自减运算符 | ++ | 自增 | 自变量的值加1 |
-- | 自减 | 自变量的值减1 | |
赋值运算符 | += | 加后赋值 | a+=b 等价于 a = (a的数据类型)(a+b);将a+b的商给a |
-= | 减后赋值 | a-=b 等价于 a = (a的数据类型)(a-b);将a-b的商给a | |
*= | 乘后赋值 | a*=b 等价于 a = (a的数据类型)(a*b);将a*b的商给a | |
/= | 除后赋值 | a/=b 等价于 a = (a的数据类型)(a/b);将a/b的商给a | |
%= | 取余后赋值 | a%=b 等价于 a = (a的数据类型)(a%b);将a%b的商给a | |
关系运算符 | == | a==b,判断a和b的值否相等,成立为true,不成立为false | |
!= | a!=b,判断a和b的值否不相等,成立为true,不成立为false | ||
> | a>b,判断a是否大于b,成立为true,不成立为false | ||
>= | a>=b,判断a是否大于等于b,成立为true,不成立为false | ||
a | |||
a | |||
逻辑运算符 | & | 逻辑与 | 必须都是true,结果才是ture,只要有一个false,结果一定是false |
| | 逻辑或 | 只要有一个ture,结果就是ture | |
! | 逻辑非 | 你真我假,你假我真。!ture=false、ture=!false | |
^ | 逻辑异或 | 如果两个条件都是false或者都是ture则结果是false,两个条件结果不同结果是ture。 | |
&& | 短路与 | 判断与“&”一样。过程是左边为false,右边不执行 | |
|| | 短路或 | 判断与“|”一样。过程是左边为ture,右边不执行 |
- “+”除了做基本的数学运算,还有那些功能。
- 与字符串做+运算时会被当成连接符,其结果还是字符串。
- 能算就算,不能算就在一起。
- 自增、自减运算符是什么,有什么用?
- ++、--。对当前变量值+1、-1
- 自增、自减运算符在变量前后有什么区别吗?
- 如果单独使用放在前面没有区别。
- 非单独使用:在变量前,先进行变量自增/自减,再使用变量。
- 非单独使用:在变量后,先使用变量,再进行变量自增/自减。
- 三元运算符
- 格式:条件表达式 ?值1:值2;
- 执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。
- 运算符的优先级
优先级 | 运算符 |
1 | () |
2 | !、-、++、-- |
3 | *、/、% |
4 | +、- |
5 | >、>>> |
6 | 、>=、instanceof |
7 | ==、!= |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | || |
13 | ?: |
14 | =、+=、-=、*=、/=、%=、&= |
小结
这个是第一篇写的博客,可能存在些问题,欢迎大家指正出来。感觉这篇文章对于一些刚开始接触Java的朋友来说有一个大概的认识,自己总感觉是干货满的。