第一章java基础

java

常见的dos命令

dir:列出当前的目录下的文件以及文件夹
md:创建目录
rd:删除目录
cd:进入指定目录
cd..:退回上一级目录
cd\:退回到根目录
del:删除文件(不是目录)
exit:退出dos命令
JDK java开发工具
开发工具
JRE java运行环境
JVM
核心类库
JDK,JRE和JVM的关系

环境变量path配置及其作用:为了在dos的任意目录使用Java和 javac命令

1.先配置JAVA_HOME = 指向jdk安装的主目录

2.编辑path环境变量,增加 %JAVA_HOME%\bin

java语言特点

  • 第一点:面对对象

    两个基本概念:类,对象
    三大特性:封装,继承,多态

  • 第二点:健壮性 完善性

    提供了一个相对安全的内存管理和访问机制

  • 第三点:跨平台性 jvm

    通过Java编写的应用程序可以在不同的系统平台上运行
    原理:在需要运行Java应用程序的操作系统上先安装一个Java虚拟机(jvm)

两种核心机制

  • Java虚拟机(JVM)
  • 垃圾回收机制(GC)
*.java
编译
*.class
执行
java虚拟机
java虚拟机机制

关键字:在java编程的时候,在关键的地方使用的单词,体现关键的地方的含义
保留字:可能在以后被用来作为关键字的单词,已经被Java预定了的单词
标识符:凡是可以自己起名字的地方都是标识符

  • 由26个英文字母大小写,0-9,_或者$组成

  • 数字不可以开头

  • 不可以使用关键字和保留字,但能包含关键字和保留字

  • Java中严格区分大小写,长度无限制

  • 标识符不能包含空格
    尽量见名知意

public class test {//表示Test是一个类,是一个public类
    public static void main(String[] args){//表示一个主方法,即我们程序的入口
        System.out.println("你好!");//;表示语句的结束
    }
}//运行的是test这个类,所以dos输入的时候直接输入Java test

如果源文件包含一个public类,则文件名必须按该类名命名

一个源文件中最多只能有一个public类。其它类的个数不限

编译后,每一个类都对应一个.class

public class Test {
		public static void main(String[] args){
			System.out.println("你好啊!");
	}
}//也可以将main方法写在非public类中,然后指定运行非public类,
class Dog {//这样入口方法就是非public的main方法
	public static void main(String[] args){
		System.out.println("你好,tiger!");
	}
}
需求
看看能否使用传统技术解决
引出我们学习的新技术和知识点
学习新技术或者知识点的基本原理和基本语法
快速入门 crud 增删改查
开始研究技术的注意事项 使用细节 使用规范 如何优化=>没有止境 技术魅力
由此形成闭环

java常用转义字符

  • \t:一个制表符,实现对齐的功能

  • \n:换行符

  • \\:一个\

  • \“:一个”

  • \‘:一个’

  • \r:一个回车 System.out.print(“你好\r个屁”)

文档注释

当开发一个大型软件时,需要定义成千上万个类,而且需要很多人参与开发。每个人都会开发一些类,并在类里定义一些方法和域提供给其他人使用,但其他人怎么知道如何使用这些类和方法呢?这时就需要提供一份说明文档,用于说明每个类、每个方法的用途。当其他人使用一个类或者一个方法时,他无需关心这个类或这个方法的具体实现,他只要知道这个类或这个方法的功能即可,然后使用这个类或方法来实现具体的目的,也就是通过调用应用程序接口(API)来编程。API文档就是用来说明这些应用程序接口的文档。对于java语言而言,API文档通常详细的说明了每个类、每个方法的功能及用法。

附带javadoc 标签-

生成格式:javadoc -d 文件夹名字1 -xx -yy Demo3.java

java代码规范

  • 类,方法的注释,要以javadoc的方式来写
  • 非Java Doc的注释,往往是给代码的维护者看的,着重告诉读者为什么这样写,如何修改,需要注意什么
  • 使用tab操作实现缩进,默认整体向右移动的时候,用shift+tab整体向左移
  • 运算符和 = 两边习惯性各加一个空格
  • 源文件使用utf-8编码
  • 行宽度不要超过80字符
  • 代码编写次行风格和行尾风格

相对路径

从当前目录开始定位,形成的一个路径(…\abc2\test200\hello.tet从当前路径两次返回上一级,然后进入abc目录,再进入)

绝对路径

从顶级路径d,开始定位,形成的路径(d:abc2\test200\hello.tet)

java变量:变量 = 变量名 + 值 + 数据类型

变量必须先声明,后使用

变量在同一个作用域内不能同名

加号的作用

1.当左右两边都是数值型,则做加法运算

2.当左右两边有一边为字符串,则做拼接运算

Java数据类型

**Java的整型常量(具体值)默认为int型,声明long型常量须后面加 ’ l '或者‘ L ’ **

bit为计算机中最小的存储单位,byte:计算机中基本存储单元,1 byte = 8 bit

大数转小数要强制转换,小数转大数是隐式转换

浮点数在机器中的存放形式

浮点数 = 符号位 + 指数位 + 尾数位 尾数部分可能丢失,造成精度丢失(小数都是近似值)

浮点数默认为double型,声明float型常量,后面必须加’f’或者‘F

判断小数相等

应该是以两个小数的差值的绝对值,在某个精度范围内判断

Java API(应用程序编程接口)

是Java提供的基本编程接口

中文在线文档:https://www.matools.com

Java语言提供了大量基础类,因此Java开发公司也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里面包含的方法

char的本质

char的本质是一个整数,在输出时,是unicode码对应的字符

字符本质谈论

字符型 存储到计算机中,需要将字符对应的码值(整数)找出来,比如’a’

存储:‘a’ = = > 码值 97 = = > 二进制 = = > 存储

读取:二进制 = = > 97 = = > ‘a’ = = > 显示

有许多字符编码表

**1.ASCII 编码表 一个字节表示,有128个,实际上一个字节可以表示256个字符,只用128个 **

2.Unicode 固定占用两个字节,字符,字母,汉字 将世界上所有符号纳入其中 没有乱码问题 并且兼容ASCII码

3. utf-8 字符占一个字节 汉字占3个字节 在Unicode上有所改进

4. gbk 字母占1 汉字占2

**5. gb2312 **

6. big2 码 繁体中文 港台

不可以用 0和 1代替 false和true ,和 C 语言不同

在java程序中进行赋值或者运算时,精度小的类型自动转换成精度大的数据类型

char
int
long
float
double
byte
short
自动类型转换

自动转换细节

1.有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再计算

2.当我们把精度大的数据类型赋值给精度小的数据类型时,就会报错

3.boolean 不参与转换

4.自动提升原则:表达式结果的类型自动提升为 操作数中最大的类型

5.(byte,short)和 char 之间不会相互自动转换,但是三者之间可以计算,在计算时先转换成int类型(当把具体的数赋给byte时,先判断是否在byte范围内,如果是就可以,否则就出错)

强制类型转换

将容量大的数据类型强制转换成容量小的类型,要带强制转换符 (),但是可能造成精度损失,或者数据溢出

强转细节

1.强转符号只针对最近的操作数有效,使用小括号提升优先级

2.char 类型可以保存int类型的常量值,但是不能保存int类型的变量值,需要强转

char c1= 100;
int m = 100;
char c2 = m;
char c3 = (char)m;
System.out.println(c2);

3.byte 和 short 类型在进行运算时,当做int 类型处理

基本数据类型和String类型的转换

1.基本类型转String类型:将基本类型的值 + " " 即可

int n1 = 100;
String s1 = n1 + "";

2. String 转基本数据类型:通过基本类型的包装类调用 parseXX 方法即可

String s5 = "123";
int num1 = Integer.parseInt(s5);
Double.parseDouble("123.1");
Float.parseFloat("123.45");
Short.parseShort("12");
Long.parseLong("1234");
Boolean.parseBoolean("true");
Byte.parseByte("12");
//怎么把字符串转化成字符char
System.out.println(s5.charAt(0));//取出字符串第一个字符'1'

注意:1.在将String转换成基本数据类型时,要确保String类型能够转成有效的数据,比如可以把 “123” 转成一个整数,而不能将"hello"转成一个整数

2.格式不正确会抛出异常

运算符

1.算术运算符

a++ :先取值再运算 ++a :先运算再取值

int i = 1;
i = i++;//规则使用临时变量:(1) temp = i  (2) i = i + 1  (3) i = temp
System.out.print(i);//此时i=1

int i = 1;
i = ++i;//规则使用临时变量:(1)i = i + 1  (2) temp = i  (3) i = temp
System.out.print(i);// 2

2.赋值运算符

3.关系运算符

4.逻辑运算符

& 短路与 &&逻辑与 两者判断结果都是一样的 (两个条件都为true,结果则为true)

**&&逻辑与:如果第一个条件为false,则第二个条件不会被判断(执行),最终结果为false **

&短路与:不管第一个条件是否为false,第二个条件都要判断,效率低

| 短路或 :不管第一个条件是否为true,第二个条件都要判断,效率低

|| 逻辑或: 如果第一个条件为true,则第二个条件不会被判断,最终结果为true

’ & ‘和’ | ‘的运算分别对应’ && ‘和’ || ’ 一样的

^逻辑异或

a^b :当a 与 b 不同时,则结果为true,否则为false

5.位运算符

6.三元运算符

条件表达式 ? 表达式1 : 表达式2;

如果条件表达式为true,运算后的结果是表达式1

如果条件表达式为false,运算后的结果是表达式2

表达式1和表达式2 要为可以赋给接受变量的类型(或可以自动转换)(类型转换)

三元运算符可以转成 if–else语句

int a = 1;
int b = 2;
int c = 3;
int d = (a > b ? a : b) > c ? (a > b ? a : b) : c;//判断三个数中哪个最大

只有单目运算和赋值运算是从左到右运算的

^逻辑异或

a^b :当a 与 b 不同时,则结果为true,否则为false

5.位运算符

6.三元运算符

条件表达式 ? 表达式1 : 表达式2;

如果条件表达式为true,运算后的结果是表达式1

如果条件表达式为false,运算后的结果是表达式2

表达式1和表达式2 要为可以赋给接受变量的类型(或可以自动转换)(类型转换)

三元运算符可以转成 if–else语句

int a = 1;
int b = 2;
int c = 3;
int d = (a > b ? a : b) > c ? (a > b ? a : b) : c;//判断三个数中哪个最大

只有单目运算和赋值运算是从左到右运算的

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值