飞道的博客

Java(1)

456人阅读  评论(0)

1、Java简介

(1)DOS命令

MS-DOS(Microsoft Disk Operating System)

命令提示符(cmd)

启动 Win + R,输入cmd
切换盘符 盘符名称 + 冒号
进入文件夹 cd + 文件名 (Tab键可进行文件名切换
进入多级文件夹 cd + 文件夹1\文件夹2\文件夹3
返回上一级 cd + .. 
返回根目录 cd + \
查看当前文件夹所有文件 dir
清屏 cls(clear screen
关闭cmd exit

 

(2)Java语言开发环境搭建

JVM(Java Virtual Machine):Java虚拟机,跨平台特性

JRE(Java Runtime Environment):运行环境,包含JVM和核心类库

JDK(Java Development Kit):程序开发工具包,包含JRE和开发人员使用的工具

1.环境变量的配置

2.测试配置是否正确

(3)Hello World入门程序

javac.exe:编译器

java.exe:解释器(运行)

经过编译后会生成HelloWorld.class文件

(4)标识符

命名规范

  • 类名规范:首字母大写,后面每个单词的首字母大写(大驼峰式
  • 变量名规范:首字母小写,后面每个单词首字母大写(小驼峰式
  • 方法名规范:同变量名

(5)基本数据类型

1.常量

字符常量:使用单引号,如:'A'、'e'、'9'、'中'java中单个汉字也属于字符常量

布尔常量:只有true、false

空常量:null,代表没有任何数据


  
  1. //字符、字符串常量
  2. System.out.printIn( "ABC");
  3. System.out.printIn( "");
  4. System.out.printIn( 'A');
  5. System.out.printIn( '6'); //两个单引号之间必须有一个字符,否则报错
  6. System.out.printIn( ''); //错误写法
  7. //布尔常量
  8. System.out.printIn( true);
  9. System.out.printIn( false);
  10. //空常量不能直接用来打印输出
  11. System.out.printIn( null); //错误写法
  12. //整数、浮点常量
  13. System.out.printIn( 100);
  14. System.out.printIn( 3.14);

输出结果:
ABC

A
6
true
false

2.变量

  • 分类

基本数据类型:整数、浮点数、字符、布尔Java中char类型占2字节,Unicode编码

引用数据类型:类、数组、接口、字符串、Lambda

  • 注意事项
  1. 字符串不是基本类型,而是引用类型
  2. 浮点型可能只是近似值,并非精确值(十进制无法表示三分之一,二进制无法精确表示任何一个小数)
  3. 数据范围与字节数无关,float数据范围比long更广泛,但float占4字节,long占8字节
  4. 浮点数默认为double类型,要使用float类型,要加上后缀F
  5. 整数默认为int类型,要使用long类型,要加上后缀L
  • 定义

变量未初始化,无法使用

 

2、Day02

(1)数据类型转换

自动转换:数据范围从小到大进行转换


  
  1. float num = 30L;
  2. System.out.printIn(num); //输出 30.0
  3. // int --> long --> float --> double

强制转换:


  
  1. int num = ( int) 100L; //把long转为int
  2. System.out.printIn(num); //输出 100
  3. //溢出
  4. int num = ( int) 6000000000L;
  5. System.out.printIn(num); //输出 1705032704
  6. /*
  7. 60,0000,0000
  8. ‭0001,0110,0101,1010,0000,1011,1100,0000,0000‬
  9. 截断
  10. 0110,0101,1010,0000,1011,1100,0000,0000‬ = 1705032704
  11. */
  12. //精度损失
  13. int num = ( int) 3.99; //double --> int,直接舍弃小数部分
  14. System.out.printIn(num); //输出 3
  15. char str = 'A';
  16. System.out.printIn(str + 1); //输出 66,A的ASCII码为65
  17. System.out.printIn(str); //输出 A

注意事项:

  • 精度损失、数据溢出(截断)
  • byte/short/char三种类型可以进行数学运算,运算前被提升为int类型,再进行运算
  • boolean类型不能进行数据类型转换

ASCII码表:48 — 0,65 — A,97 — a

Unicode码表:开头0-127部分和ASCII完全一样

(2)运算符

加法运算符的三种用法

  • 数值的加法
  • char类型的加法,先提升为int类型,再运算
  • 字符串String(首字母大写,不是关键字),加号代表字符串连接操作

  
  1. //加法
  2. int x = 10;
  3. System.out.printIn(x + 2.5); //运算结果为double类型
  4. //任何数据类型和字符串进行连接,结果都是字符串
  5. String str = "Java";
  6. System.out.printIn(str + 20); //输出 Java20
  7. System.out.printIn(str + 20 + 30); //输出 Java2030,优先级问题
  8. System.out.printIn(str + ( 20 + 30)); //输出 Java50
  9. //自增、自减运算符
  10. int x = 10,y = 20;
  11. int ans = ++x + y--;
  12. System.out.printIn(ans); //输出 31
  13. //赋值运算符
  14. byte num = 30;
  15. num += 5; //5是int型,赋值运算符会自动进行强制类型转换
  16. System.out.printIn(num); //输出 35
  17. //比较运算符,返回类型为boolean类型
  18. //逻辑运算符
  19. //与&&,或||,具有短路效果
  20. //根据左边已经可以判断最终结果,右边的代码将不执行,从而提升一定性能
  21. //三元运算符
  22. //数据类型 变量名 = 条件判断 ? 表达式A :表达式B;
  23. //表达式A、表达式B的值都要符合左侧的数据要求
  24. int a = 10,b = 20;
  25. int ans = 3 > 4 ? 2.5: 10; //错误,2.5的类型不是int
  26. System.out.printIn(a > b ? a:b); //正确
  27. a > b ? a:b; //错误,三元运算符的结果必须被使用

(3)方法入门

方法:

将功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能 

方法定义:

  • 不能在方法内部定义方法(不能嵌套)
  • 方法调用后,才会执行

public static void 方法名 ( ) {
    方法体;
}

 方法调用:

 方法名 ( ) ;

(4)JShell脚本工具

JShell是JDK9的新特性,当代码非常少,不愿意编写类、main方法,不愿意编译和运行,这时可以使用Shell工具

启动:在DOS命令行,输入JShell命令

(5)编译器的优化


  
  1. //自动类型转换
  2. char c = 65;
  3. System.out.println(c); //输出 A
  4. short num = 10; //正确,右侧未超过左侧范围
  5. short a = 5,b = 8;
  6. short ans = a + b; //错误,short + short --> int + int --> int,左侧要为int
  7. int ans = a + b; //正确
  8. short ans = 5 + 8; //正确,编译器有常量优化
  9. short ans = 5 + b; //错误

 

3、Day03

(1)流程控制

  • 判断语句 if-else
  • 选择语句 switch

switch后面的括号中只能是下列数据类型:
                基本数据类型:byte / short / char / int
                引用数据类型:String字符串、enum枚举

  • 循环语句 for、while、do-while
  • 关键字 break、continue

(2)死循环

Ctrl + C,强制停止死循环


  
  1. //死循环
  2. while( true) {
  3. System.out.println( "Hello");
  4. }
  5. System.out.println( "ABC"); //报错,出现无法访问的语句

 

4、Day04

(1)开发工具IntelliJ IDEA

  • 项目结构

新建项目(base)  ——  新建Module (Day04)  ——  新建Package (cn.itcast.day04.demo01)  ——  新建Class (HelloWorld)

  • 常用快捷键
Alt + Enter 导入包,自动修正代码
Ctrl + Y 删除光标所在行
Ctrl + D 复制光标所在行,插入光标位置下面
Ctrl + Alt + L 格式化代码
Ctrl + / 单行注释,再按取消注释
Ctrl + Shitf + / 多行注释,选中代码注释,再按取消注释
Alt + Ins 自动生成代码,toString,get,set等方法
Alt + Shift + 上下箭头 移动当前代码行

(2)方法

注意事项

  • 方法定义没有先后顺序,方法定义无法嵌套
  • void返回类型的方法,可以包含 return;

方法重载(overload

  • 按住Ctrl键,点击println可以查看所有重载
  • Shift + F6,可同时修改方法中所有相同字符

  
  1. //方法名相同,参数个数、类型不同
  2. //返回类型可以相同
  3. //public 和 static 与方法重载无关
  4. public class MethodOverload {
  5. public static void main(String []args) {
  6. sum( 10, 20);
  7. }
  8. public static int sum(int a,int b) {
  9. return a+b;
  10. }
  11. /*
  12. public static int sum(int x,int y) { //错误写法,和上一个sum冲突
  13. return x+y;
  14. }
  15. */
  16. public static int sum(double a,int b) { //参数的多类型顺序可以不同
  17. return ( int)(a+b);
  18. }
  19. public static int sum(int a,double b) {
  20. return ( int)(a+b);
  21. }
  22. public static int sum(int a,int b,int c) { // Shift + F6,修改所有相同的字符
  23. return a+b+c;
  24. }
  25. }

 

5、Day05

(1)数组

 

(2)流程控制

 


转载:https://blog.csdn.net/qq_35501364/article/details/105102510
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场