JAVA基础
2021/10/30 17:40:34
本文主要是介绍JAVA基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 第零章
- JAVA的运行机制
- 第一章 JAVA的基础语法
- 1、注释
- 2、关键字
- 3、标识符
- 4、数据类型
- 基本类型
- 引用类型
- 进制区别
- 浮点数存在的问题
- 字符存在的问题
- boolean问题
- 类型转换
- JDK7新特性
- 5、变量
- 6、运算符
- 7、包机制
- 8、JAVADoc
- 第二章 JAVA流程控制
- 1、Scanner
- 2、顺序结构
- 3、选择结构
- 4、循环结构
- 5、方法详解
- 6、命令行传参数
- 7、可变参数
- 8、递归
- 9、数组
- 多维数组
- end
- 9、数组
- 多维数组
- end
第零章
- 安装预配置(JDK)
- 安装集成开发环境(IDEA)
- 验证环境细节
## hello word
编写一个hello word程序
JAVA的运行机制
-
编译型
将编写的高级语言代码编译成计算机识别的计算机语言
-
解释型
将编写的高级语言逐条解释成计算机识别的计算机语言(解释需要时间)
-
JAVA的编译过程
将JAVA代码编译成.class文件,传入JVM中使用解释器传入操作系统平台
第一章 JAVA的基础语法
1、注释
- 单行注释
- 多行注释
- 文档注释(JavaDoc)
2、关键字
- public:
- class:
- static:
3、标识符
- 开头:可以以字母、$、_开始
- 不能关键字取名
- 标识符大小写敏感
- 不建议拼音命名(low)
4、数据类型
强类型语言:要求变量的使用必须要合乎规定,所有变量都要先定义才能使用。
弱类型语言:随意使用变量,安全性不高。
JAVA的数据类型为两大类
-
基本类型
- 数值类型
- 整数类型
- byte:占一个字节,-128 - 127
- short:占两个字节,-32768 - 32767
- int:占四个字节,-2147483648 - 2147483647
- long:占八个字节,-
- 浮点数类型
- float:占四个字节
- double:占八个字节
- 字符类型 char:占两个字节
- 整数类型
- boolean类型:占一位,TRUE or FALSE
- 数值类型
-
引用类型
- 类
- 接口
- 数组
-
进制区别
八进制 十进制 十六进制
010 8 0x10
-
浮点数存在的问题
舍入误差:
浮点数:有限、离散、舍入误差、大约、接近但不相等
-
字符存在的问题
char类型的编码:unicode的字符编码
转义字符:\t: Tab键
\n: 回车
-
boolean问题
boolean flag = true; if(flag){ sout(flag); }
-
类型转换
低------------------------------------------------------------->高
byte,short,char–>int -->long–>float–>double
字符转换中的强制转换,存在内存溢出问题。
字符转换中不能将起转换为不相干的类型
不能对boolean类型进行转换
-
JDK7新特性
int money = 10_0000_0000; sout (money); out: 1000000000
5、变量
变量是什么?
变量就是可以变化的量
JAVA是一种强类型语言,每个变量都需要声明其类型。
JAVA变量是程序中的存储单元。
*作用域:类变量,实例变量,局部变量
见名知意,驼峰命名法,常量名全大写“_”分割
6、运算符
- 算数运算符:+ - * / ++ –
- 赋值运算符:=
- 关系运算符: < > <= >= == != %
- 逻辑运算符: && || !
- 位运算符: & | ^ ~ >> << >>>
- 条件运算符: ? :
- 扩展运算符: += -= *= /=
- 短路运算:验证为假后直接退出运算。
7、包机制
包的本质:文件系统中的文件夹(规范:将公司域名倒置建包)
8、JAVADoc
/** *@author *@version *@sion *@param *@return *@throws */
javadoc -encoding UTF-8 -charset UTF-8 xxx.file
生成javadoc的帮助文档
第二章 JAVA流程控制
1、Scanner
一个扫描器对象,用于接受键盘数据;
Scanner scanner = new Scanner(System.in); next(); //拿到输入中空格前的数据 hasNextLine(); //判断是否还有数据 nextLine(); //拿到回车前的数据 ……………… scanner.close();
2、顺序结构
从头到尾执行
3、选择结构
-
if单项选择结构
if(boolean){ sout("成功"); }
-
if双向选择结构
if(boolean){ sout("成功"); }else{ sout("失败"); }
-
if 多选择结构
if(boolean){ sout("优"); }else if(boolean){ sout("良"); }else if(boolean){ sout("差"); }else{ sout("成绩不合法"); }
-
if嵌套结构
if(boolean){ if(boolean){ sout("结果"); } }
-
switch选择结构
switch(expression){ case value : sout("A"); break; case value : sout("B"); break; default : sout("未知"); }
JDK7后支持String类型选择。
case穿透效果。
4、循环结构
-
while循环结构
while(boolean){ sout("循环"); }
必要时使用死循环,但是要设置跳出循环点。
-
do-while循环结构
do { sout("循环"); }while(boolean);
-
for循环结构
for(inr i=0; i<100; i++){ sout("循环"); }
-
增强for循环
for( int x:numbers){ sout("i"); }
-
break用处
跳出循环结构
-
continue用处
跳出某次循环
-
goto用法:标签
outer:for(int i=a; i<b ;i++){ for(int j=a; j<b ; j++){ continue outer; } }
5、方法详解
-
方法是语句的集合,组合在一块执行完成某种功能
-
保持方法的原子性。
-
方法包含一个方法头和一个方法体
- 修饰符
- 返回值类型
- 方法名
- 方法参数:实参和形参
- 方法体
-
方法的重载
相同的方法名,有不同种类或不同个数的参数。调用时使用不同的参数,调用不同的参数。使程序更加灵活
返回值可以相同也可以不同。
jvm会自动匹配不同的方法,匹配不上时会报错。
6、命令行传参数
- main函数中传入需要的参数,String[] args参数接收命令行中传入的参数。
- java com.gleak.demo.Demo01 参数a 参数b (cmd中的命令样式)
7、可变参数
一个方法中只能有一个可变参数,并且只能在所有常熟的末尾。
public static int test( int i ,double... a);
8、递归
-
A方法调用A方法
-
递归可以降低方法的规模,将其大事化小,小事化了。
-
包含递归头和递归体
-
程序都要有一个边界条件
-
前阶段
-
返回阶段
-
-
空间占用特别高,影响电脑性能。
9、数组
-
相同类型的数据的有序集合
-
其中每个数据可以通过下标访问每个数据
-
声明数组 类型[] 变量名 ;
new数组 类型[] 变量名 = new 类型[];
静态初始化: int { … }
动态初始化: new { … }
多维数组
-
数组中嵌套数组
-
声明和定义数组
-
arrays类
-
稀疏数组
位置 横 纵 值
总横 总纵 总值
3 2 1
end
界条件
-
前阶段
-
返回阶段
- 空间占用特别高,影响电脑性能。
9、数组
-
相同类型的数据的有序集合
-
其中每个数据可以通过下标访问每个数据
-
声明数组 类型[] 变量名 ;
new数组 类型[] 变量名 = new 类型[];
静态初始化: int { … }
动态初始化: new { … }
多维数组
-
数组中嵌套数组
-
声明和定义数组
-
arrays类
-
稀疏数组
位置 横 纵 值
总横 总纵 总值
3 2 1
end
这篇关于JAVA基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器