IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Java基础 -> 正文阅读

[开发工具]Java基础

1. Java开发环境的配置:① 下载适合的Java开发工具包JDK;② 安装;③ 配置环境变量;④ 下载安装开发工具,推荐使用IDE eclipse、IDEA。

注:创建好Java项目后要先在该项目下的 src 下创建一个 package 才能创建新类。

2. Java是大小写敏感的,标识符以字母、美元$、下划线开始,由字母、美元$、下划线及数字组成。

Java中的名称命名规范

① 包名:均小写,xxxyyyzzz;

② 类名、接口名:多单词组成时,所有单词首字母大写,XxxYyyZzz;

③ 变量名、方法名:多单词组成时,第一个单词小写,第二个单词开始每个单词首字母大写,xxxYyyZzz;

④ 常量名:全部大写,多单词时,中间使用下划线连接,XXX_YYY_ZZZ。

注:通常,定义浮点型变量时 ,使用double型;定义整型变量时,使用int型;定义char型变量,通常使用一对 ' ',且内部只能写一个字符。

声明long型变量,必须以 “ l ” 或者 “ L ” 结尾;定义float类型变量时,变量要以 “ f ” 或者 “ F ” 结尾。

3. 自动类型提升&强制类型住转换:① 自动类型提升:byte、char、short → int → long → float → double,其中,byte、char、short 这三种类型的变量做运算时,结果为 int 类型;② 强制类型转换:需要将转换的类型加以括号,如 double d = 12.9;? ?int i = (int) d;

4. 声明 String 类型变量时,使用一对 “ ” ,String 中可以不放内容,但是 char 类型不行。

注:String 类型可以和 8 种基本数据类型变量做运算,并且只能是连接运算:+ ,运算的结果仍然是String类型。

如果想要将 String 类型变量输出为 int ,则(这里举一个例子):

????????????????String str = 123 + " ";

????????????????int num = Integer.parseInt(str);

? ? ? ? ? ? ? ? System.out.println(num); // 此时输出值为整型 123.?

5. % 为取模运算,结果的符号与被模数的符号相同。自增一运算不会改变本身变量的数据类型。比较运算符(包括 == 、!= 、> 、< 、>= 、<= 、instanceof )的结果是 boolean 类型。?

6. 计算某个数的个/十/百位数字:

int bai = num/100;
int shi = num%100/10;//int shi = num/10%10
int ge = num%10;

7. 逻辑运算符(包括 逻辑与&、逻辑或|、逻辑非!、短路与&&、短路或||、逻辑异或^ )操作的都是 Boolean 类型的变量,结果也是 Boolean 类型。

8. 位运算符(包括 左移<< 、右移>> 、无符号右移>>> 、& 、| 、^ 、~ ):直接对整数的二进制进行的运算,操作的都是整型的数据。其中,左移操作相当于*2,右移运算相当于 /2。

// 交换量个变量的值:
int num1 = 10;
int num2 = 20;
System.out.println("num1 =" +  num1 + "num2 =" +  num2);

// 方法 1 :定义临时变量的方式
int temp = num1 ;
num1 = num2;
num2 = temp;
// 方法 2 :
num1 = num1 + num2;
num2 = num1 - num2;
num1 = num1 - num2;
// 方法 3 :
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;

9. 条件表达式的结果为 Boolean 类型,(条件表达式)?表达式1:表达式2

注:条件表达式可以嵌套使用;使用条件表达式的地方,都可以改为 if - else 语句,但反之不成立。只有单目运算符、三元运算符、赋值运算符是从右向左运算的。

10. 程序流程控制:① 顺序结构;② 分支结构;③ 循环结构。

循环结构:for 循环、while 循环,do-while 循环(循环条件是 boolean 类型)

//①初始化条件;②循环条件;③循环体;④迭代条件

(1) for( ①;②;④){?

? ③

}? // 执行过程:① - ② - ③ - ④ - ② -? ③ - ④ - …… - ②

(2)①

while( ② ){

③; ④;

}? // 执行过程:① - ② - ③ - ④ - ② -? ③ - ④ - …… - ②,执行过程与for循环结构一致。

// for循环和while循环可以相互转化。

(3)①

do{

③; ④;

}?while( ② );? ? // 执行过程:①?- ③ - ④ - ② - ③ - ④ - ② ?- …… - ②

//? 至少执行一次。

11. 循环嵌套:外层循环控制行数,内层循环控制列数。

12. break 用于结束当前循环;continue 用于结束当次循环。

13. Utility 工具类:将不同的功能封装为方法,即可直接通过调用方法使用它的功能,而无需考虑具体的功能实现细节。

14.衡量一个功能代码的优劣:① 正确性;② 可读性;③ 健壮性;④ 高效率与低存储:时间复杂度、空间复杂度;(衡量算法的好坏)。

15. 数组(Array):多个同类型数据按一定顺序排列的集合。数组本身是引用数据类型,数组的元素可以是基本数据类型(如double),也可以是引用数据类型(如String)。数组的长度一旦定义,就不能修改。

数组元素的默认初始化值:① 整型:0;② 浮点型:0.0;③ char型:空格(0);④ boolean型:false;⑤ 引用数据类型(类、数组、接口):null。

注:引用数据类型的值不是null就是地址值。局部变量没有默认初始化值,特别地,形参在调用时赋值。

?16. 二维数组元素的默认初始化值(分内层和外层):对于类似 int[][] arr = new int[4][3];其外层元素的初始化值为地址值;内层元素的初始化值与一维数组初始化情况相同。类似 int[][] arr = new int[4][ ];其外层元素的初始化值为null;内层元素的初始化值不能调用,否则报错。

注:二维数组可以写成String[3][2],也可以写成String[3][ ],但是不能写成String[ ][2]或String[ ][ ]。??

多维数组的声明可以进行静态初始化,也可以进行动态初始化。如,① int[ ][ ] arr1 = new int [ ][ ]{{1,2,3},{4,5},{6,7,8}};//静态初始化? ② String [ ][ ] arr2 = new String[3][4];//动态初始化? ?③ int[ ] arr3[ ] = new int[ ][ ]{{1,2,3},{4,5},{6,7,8}};?或者 int[ ] arr4[ ] = {{1,2,3},{4,5},{6,7,8}}; 都是正确的。

17. 数组的复制和赋值是不同的:① 赋值:arr1 = arr;? //?不需要new两个数组? ?② 复制:需要new2次,进行遍历操作,如,String[ ] arr = new String[ ]{"aa","bb","cc","dd"};? ?String[ ] arr1 = new String[arr.length];? for(int i=0;i<arr1.length;i++){arr1[i] = arr[i];}

//数组的反转
//方法 1:
for(int i=0;i<arr.length/2;i++){  //确保不再反转回来
    String temp = arr[i];
    arr[i] = arr[arr.length-i-1];
    arr[arr.length-i-1] = temp;
}

//方法 2:
for(int i=0,j=arr.length-1;i<j;i++,j--){
    String temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
}

18. 十大内部排序算法:选择排序(直接选择排序、堆排序),交换排序(冒泡排序、快速排序),插入排序(直接插入排序、折半插入排序、Shell(希尔)排序),归并排序,桶式排序,基数排序。

19. 算法的5大特征:输入,输出,有穷性,确定性,可行性。

20. 面向过程&面向对象:

面向过程:强调功能的行为,以函数为最小单位,考虑怎么做。

面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

Java语言基本元素:类(class)和对象(object),面向对象程序设计的重点是类的设计。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-16 22:41:58  更:2022-03-16 22:43:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 7:52:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码