JavaSE入门知识总结(学习狂神day01)
2021/9/30 22:40:43
本文主要是介绍JavaSE入门知识总结(学习狂神day01),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
预科:基本的Dos命令
打开CMD方式:
- win键+R,输入cmd打开命令提示符
- 开始->window系统->命令提示符
- 在任意的文件夹下,按住shift+鼠标右键打开Powershell窗口
- 资源管理器的地址栏前面加上cmd
- 最高权限,以管理员运行
常用的Dos命令:
#盘符切换 #查看当前目录下的所有文件dir #切换目录cd change directory #返回上一级cd.. #清理屏幕cls #退出终端exit #查看电脑ip ipconfig #打开应用:打开计算机(calc)、打开画图工具(mspaint)、打开记事本(notepad) #ping命令 #ping www.baidu.com #文件操作 #创建文件夹命令 md 目录名 #新建文档 cd 目录名 #删除文件命令 del 文件名 #移除文件 rd 目录名
Java入门
问题:C&C++----->指针与内存管理
Java(跨平台)的三大版本:
- javase标准版(桌面程序、控制台开发)
- javame嵌入式开发(手机、家电)
- javaee企业级开发(web端、服务器开发)
JDK-->JRE-->JVM(跨平台)
JDK卸载:
- 删除java的安装目录
- 删除JAVA_HOME
- 删除path中java的目录
- java -version
JDK安装:
- 配置环境变量
- 变量-->JAVA_HOME
- 配置path变量
- 测试是否成功安装java -version
第一个程序:HelloWorld
public class HelloWorld{ public static void main(String[] args){ System.out.println("hello,world!"); } }
-
编译javac java文件,会生成一个class文件
-
运行class文件,
可能遇到的情况:
1. 每个单词的大小不能出现问题 2. 文件名和类名必须保证一致 3. 尽量使用英文 4. 使用了中文符号
java程序运行机制
- 编译型:把一本书直接翻译(操作系统、c/c++)---->编译器
- 解释型:说一句话解释一句话(网页,服务器脚本、java、python)
- 程序运行机制:java源程序( * .java)---->java编译器----->字节码(*.class)----->类装载器----->字节码校验----->解释器----->操作系统平台
使用IDEA开发:集成开发环境idea安装
java基础语法
1.注释、标识符、关键字
注释:单行、多行、文档注释(javaDoc)。
关键字:
标识符:java的所有组成部分都需要名字。类名、方法名、变量名都是标识符。
注意:标识符都以字母A-Z(a-z)、美元符$、或者下划线_开头。
首字母之后可以是任意字符组合
不能使用关键字作为变量名或者方法名
标识符是大小写敏感的
2.数据类型:
(java是强类型语言)--->要求变量的使用要严格符合规定,所有的变量都必须先定义后才能使用。------>安全
(弱类型语言):vb、js
Java的数据类型分为 :
-
基本类型:数值类型(整数类型、浮点类型、字符类型)和布尔类型。
整数类型:byte占1个字节范围:-128-127
short占2个字节范围:-32768-32767
int占4个字节范围:-2147483648-2147483647
long占8个字节范围:-9223372036854775808-9223372036854775807
浮点类型:float占4个字节
double占8个字节
字符类型:char占2个字节
boolean类型:占1位其值只有true和flase两个。
-
引用类型:类、接口、数组
8bit(位)=1B(byte字节)
常见的问题:
(1)整数扩展
//整数扩展: 进制 二进制0b 十进制 八进制0 十六进制0x int i = 10; int i2 = 010; int i3 = 0x10; System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println("=============================");
(2)浮点数扩展(最好完全避免使用浮点数进行比较)
//================================================== //浮点数扩展? 银行业务怎么表示? 钱 //BigDecimal 数学工具类 //================================================== //float 有限字长 离散 舍入误差 大约 接近单不等于 //double //最好完全避免使用浮点数进行比较!!! float f = 0.1f; //0.1 double d = 1.0 / 10; //0.1 System.out.println(f == d); //应为true,运行结果是false float d1 = 231313113131131313131f; float d2 = d1 + 1; System.out.println(d1 == d2); //应为false,运行结果是true
(3)字符扩展(Unicode编码表)
//字符扩展 System.out.println("=================================="); char c1 = 'a'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1); //强制转换 System.out.println(c2); System.out.println((int)c2); //强制转换 //所有的字符本质还是数字 //编码 Unicode 表:(97 = a,65 = A) 2字节 0-65536 Excel 2^16=65536 //U00000 UFFFF char c3 = '\u0061'; System.out.println(c3); //a
(4)转义字符
//转义字 // \t 制表符 // \n 换行 System.out.println("Hello\tWorld");
(5)字符串(遗留问题)
System.out.println("================================"); String sa = new String("hello,world"); String sb = new String("hello,world"); System.out.println(sa==sb); //false String sc= "hello,world"; String sd="hello,world"; System.out.println(sc==sd); //true //对象 内存分析
(6)布尔值(多用于if语句)
//布尔值扩展 boolean flag = true; //都是判断flag是否为真 if (flag==true){} //新手 if (flag){} //老手 //Less is More! 精简易读
3.类型转换
低-------------------------------------------------------------------->高
byte--->short--->char--->int--->long--->float--->double
- 运算中不同的数据类型先转化为相同的数据类型,在进行计算
- 高--->低(强制类型转换)、低--->高(自动类型转换)
注意点
- 不能对布尔值进行转换
- 不能把对象类型转换为不相干的类型
- 在把高容量转换到低容量的时候,强制转换
- 转换的时候可能存在内存溢出,或者精度问题!
- 操作比较大的时候注意溢出问题
public class Demo04 { public static void main(String[] args) { //操作比较大的时候,注意溢出问题 //jdk7新特性,数字之间可以用下划线分割 int money = 10_0000_0000; int year = 20; int total = money*year; System.out.println(total); //-1474836480,计算的时候溢出了 long total2 = money*year; //默认是int,转换之前已经存在问题了? long total3 = money*(long)year; //把一个数转换为long System.out.println(total3); long total4 = (long)(money*year);//-1474836480,计算完再转换还是溢出,要在计算之前转换 System.out.println(total4); } }
4.变量、常量
java是一种强类型语言,每个变量都必须声明其类型。
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型,和作用域。
注意:
-
(1)每个变量都有类型,可以是基本类型,也可以是引用类型
-
(2)变量名必须是合法的标识符
-
(3)变量声明是一条完整的语句,一次每个声明都必须以分号结束
-
(4)不建议一行定义多个变量。
public class Demo05 { public static void main(String[] args) { //int a=1, b=2, c=3; int a = 1; String name = "wang"; char x = 'x'; double pi = 3.14; } }
变量作用域:
-
类变量:在类中
static int 变量名=值
-
实例变量:在类中
String str = "hello world"
-
局部变量:在方法中
常量:
- 初始化后不能再改变值!不会变动的值。
- 所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
final 常量名=值;
- 常量名一般使用大写字符。
变量的命名规范:
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary出了第一个单词以外,后面的单词首字母大写 lastName
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则
- 方法名:首字母小写和驼峰原则:run(), runRun()
5.运算符 : 优先级()
- 算数运算符:
+,-,*,/,%,++,--
- 赋值运算符
=
- 关系运算符:
>,<,>=,<=,==,!= instanceof
- 逻辑运算符:
&&,||,!
- 位运算符:
&, |, ^, ~, >>, <<, >>>(了解!!!)
- 条件运算符?:
- 扩展赋值运算符:
+=, -=, *=, /=
package operator; public class Demo04 { public static void main(String[] args) { //++ -- 自增自减 int a = 3; int b = a++;//执行完这行代码后,先给b赋值,在自增 //a = a + 1; System.out.println(a); //a = a + 1; int c = ++a; //执行完这行代码前,先自增,再给b赋值 System.out.println(a); System.out.println(b); System.out.println(c); //幂运算 double pow = Math.pow(3, 2); System.out.println(pow); } }
package operator; public class Demo06 { public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 A&B = 0000 1100 与 A|B = 0011 1101 或 A^B = 0011 0001 异或:相同为0,不同为1 ~B = 1111 0010 取反 2*8怎么运算最快? 效率极高!!! <<左移(*2) >>右移(/2) 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 会发现2、4、8、16左移一位 */ System.out.println(2<<3); } }
package operator; //逻辑运算符 public class Demo05 { public static void main(String[] args) { //与或非 boolean a = true; boolean b = false; System.out.println("a&&b:"+(a&&b)); //逻辑与运算:两个变量都为真,结果采薇true System.out.println("a||b:"+(a||b)); //逻辑或运算:有true则true System.out.println("!(a&&b):"+!(a&&b)); //取反 //短路运算 int c = 5; boolean d = (c<4)&&(c++<4); //短路与,若前部分为false则后面代码不执行,直接为false System.out.println(d); System.out.println(c); } }
package operator; public class Demo07 { public static void main(String[] args) { int a = 10; int b = 20; a += b; a -= b; System.out.println(a); //字符串连接符 + System.out.println("" + a + b); //只要String出现在运算前,后面会进行拼接,转换为String进行连接 System.out.println(a + b + ""); //String 出现在运算后面,先进行运算在拼接 } }
package operator; //三元运算符 public class Demo08 { public static void main(String[] args) { // x ? y :z //如果x==true,则结果为y,否则为z int score = 80; String type = score < 60 ? "不及格" : "及格"; System.out.println(type); } }
6.包机制、javaDoc
- 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
package 包名;
-
一般利用公司域名倒置作为包名;
com.baidu.www
-
导入包
import com.kuang.base.Demo01;
package com.kuang.operator; //导入这个包下所有的类 import com.kuang.base.*; //三元运算符 public class Demo08 { public static void main(String[] args) { // x ? y :z //如果x==true,则结果为y,否则为z int score = 80; String type = score < 60 ? "不及格" : "及格"; System.out.println(type); } }
作业:阿里巴巴开发手册
JavaDos命令
是用来生成自己的API文档的. 查看jdk帮助文档
参数信息:
-
- @author作者
- @version版本号
- @since指明需要最早使用的jdk版本
- @param参数名
- @return返回值情况
- @throw异常抛出情况
package com.kuang.base; /** * @author kuangshne * @version 1.1 * @since 1.8 */ public class Doc { String name; /** * * @param name * @return * @throws Exception */ public String text(String name) throws Exception{ return name; } }
生成文档:命令提示符javadoc -encoding UTF-8 -charset UTF-8 Doc.java
作业:学会使用idea生成Javadoc文档!
javadoc配置
这篇关于JavaSE入门知识总结(学习狂神day01)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-29RocketMQ底层原理资料详解:新手入门教程
- 2024-11-29RocketMQ源码资料解析与入门教程
- 2024-11-29[开源]6.1K star!这款电视直播源神器真的太赞啦!
- 2024-11-29HTTP压缩入门教程:轻松提升网页加载速度
- 2024-11-29JWT开发入门指南
- 2024-11-28知识管理革命:文档软件的新玩法了解一下!
- 2024-11-28低代码应用课程:新手入门全攻略
- 2024-11-28哪些办公软件适合团队协作,且能够清晰记录每个阶段的工作进展?
- 2024-11-28全栈低代码开发课程:零基础入门到初级实战
- 2024-11-28拖动排序课程:轻松掌握课程拖动排序功能