Java初学者零基础分章学习前四章

目录

第 1  章 自己为什么要学Java

第 2  章 Java 概述

2.1 什么是 JDK,JRE

2.2 Java 转义字

2.3 Java 代码规范

2.4 相关的知识补充: 相对路径, 绝对路径

第 3 章 变量

3.1 程序中 + 号的使用

3.2 数据类型

3.3字符类型(char)

3.3 基本数据类型转换

3.4 强制类型转换

第 4 章 运算符

4.1 %本质

4.2 键盘输入语句

4.3 逻辑运算符

4.4 运算符优先级

4.5原码、反码、补码(重点 难点)

4.6 还有3个位运算符 >>, <<和>>>,运算规则:


第 1  章 自己为什么要学Java

  我想是因为......

第 2  章 Java 概述

2.1 什么是 JDK,JRE

2.1.1JDK 基本介绍

  1. JDK 的全称(Java Development Kit Java 开发工具包)

    JDK = JRE + java 的开发工具 [java, javac,javadoc,javap 等]

  2. JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了 JDK,就不用在单独 安装 JRE 了。

2.1.2JRE 基本介绍

  1. JRE(Java Runtime Environment Java 运行环境) JRE = JVM + Java 的核心类库[类]

  2. 包括 Java 虚拟机(JVM Java Virtual Machine)和 Java 程序所需的核心类库等,如果想要运行一个开发好的 Java 程序, 计算机中只需要安装 JRE 即可。

2.1.3JDK、JRE 和 JVM 的包含关系

  1. JDK = JRE + 开发工具集(例如 Javac,java 编译工具等)

  2. JRE = JVM + Java SE 标准类库(java 核心类库)

    3.如果只想运行开发好的 .class 文件 只需要 JRE

2.2 Java 转义字

Java 常用的转义字符

在控制台,输入 tab 键,可以实现命令补全

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

\n : 换行符

\ : 一个\

\" : 一个"

\' : 一个'

\r :一个回车 System.out.println("今天天气怎样\r上海“);

则输出的是”上海天气怎样“

2.3 Java 代码规范

  1. 类、方法的注释,要以javadoc的方式来写。

  2. 非Java Doc的注释,往往给代码的维护者看的,着重告诉读者为什么这样写,如何修改,注意什么问题等

  3. 使用tab操作,实现缩进,默认整体向右边移动,用shift+tab整体向左边移

  4. 运算符和 = 两边习惯性各加一个空格。

  5. 源文件使用utf-8编码

  6. 行宽度不要超过80字符

  7. 代码编写有次行风格和行尾风格

2.4 相关的知识补充: 相对路径, 绝对路径

第 3 章 变量

3.1 程序中 + 号的使用

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

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

3.运算顺序,是从左到右

3.2 数据类型

每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(字节)。

 

上图说明 [有点重要,背下来!!!!]

  1. java 数据类型分为两大类 基本数据类型引用类型

  2. 基本数据类型有 8 中 数值型 byte , short , int , long , float ,double] char , boolean

  3. 引用类型 [类,接口, 数组]

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

浮点数使用陷阱

2.7不等于8.1/3(浮点数相除的时侯得到的是近似2.7的小数而不是2.7,

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

//正确的写法

if(Math.abs(num11 - num12) < 0.000001 ) {

System.out.println("差值非常小,到我的规定精度,认为相等...");

3.3字符类型(char)

1.java中还允许使用转义字符 ' \ '来将其后的字符转变为特殊字符常量。例如:char c3 = ' \n '

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

3.char类型是可以进行运算的,相当于一个整数,因为它都对应有Unicode码。

System.out.println('a' + 10);//107

 

3.3 基本数据类型转换

 

注意 :1.(byte,short)和 char 之间不会相互转换。

2.byte,short,char 他们三者可以计算,在计算时首先转化为int类型。

byte b2 = 1;
byte b3 = 2;
short s1 = 1;
//short s2 = b2 + s1;//错, b2 + s1 => int
int s2 = b2 + s1;//对, b2

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

3.4 强制类型转换

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符 ( ),但可能造成 精度降低或溢出,格外要注意。

第 4 章 运算符

注释快捷键 ctrl + /, 再次输入 ctrl + / 取消注释

4.1 %本质

  • % 取模 ,取余。在 % 的本质 看一个公式!!!! a % b = a - a / b * b

System.out.println(10 % 3); //1
System.out.println(-10 % 3); // -1
System.out.println(10 % -3); //1
System.out.println(-10 % -3);//-1

  • a % b 当a是小数时,公式= a - (int)a / b * b

    -10.5%3 = -10.5 - (-10)/3 * 3= -10.5 + 9 = -1.5
     //注意: 有小数运算,得到结果是近似值

 面试题

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


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

4.2 键盘输入语句

import java.util.Scanner;//表示把 java.util 下的 Scanner 类导入
public class Input {
//编写一个 main 方法
public static void main(String[] args) {
//演示接受用户的输入
//步骤
//Scanner 类 表示 简单文本扫描器,在 java.util 包
//1. 引入/导入 Scanner 类所在的包
//2. 创建 Scanner 对象 , new 创建一个对象,体会
// myScanner 就是 Scanner 类的对象
Scanner myScanner = new Scanner(System.in);
//3. 接收用户输入了, 使用 相关的方法
System.out.println("请输入名字");
String name = myScanner.next(); //接收用户输入字符串

System.out.println("请输入年龄");
int age = myScanner.nextInt(); //接收用户输入 int
    
System.out.println("请输入薪水");
double sal = myScanner.nextDouble(); //接收用户输入 double
    
System.ou.println("请输入性别");
char gender = myScanner.next().charAt(0);
    
System.out.println("人的信息如下:");
    System.out.println("名字=" + name + "年龄=" + age + "薪水" + sal + "性别" + gender);
}
}

4.3 逻辑运算符

  1. &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高

  2. & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低

  • ||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高

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

4.4 运算符优先级

  1. 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。

  2. 只有单目运算符、赋值运算符是从右向左运算的。

  3. 一览表, 不要背,使用多了,就熟悉了。

4.5原码、反码、补码(重点 难点)

对于有符号的而言:

  1. 二进制的最高位是符号位:0表示正数,1表示负数

  2. 正数的原码,反码,补码都一样

  3. 负数的反码=它的原码符号位不变,其他位取反

  4. 负数的补码=它的反码+1,负数的反码 = 负数的补码 - 1

  5. 0的反码,补码都是0

  6. java没有无符号数,换言之,java中的数都是有符号的

  7. 在计算机运算的时候,都是以补码的方式来运算的

  8. 当我们看运算结果的时候,要看它的原码

4.6 还有3个位运算符 >>, <<和>>>,运算规则:

  1. 算术右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位

  2. 算术左移 <<: 符号位不变,低位补 0

  3. >>> 逻辑右移也叫无符号右移,运算规则是: 低位溢出,高位补 0

  4. 特别说明:没有 <<< 符号

int a = 1 >> 2;
//1 => 00000000 00000000 00000000 00000001
//  => 00000000 00000000 00000000 00000000
//本质是  1/  2/2=0

int c =1 << 2;
//1  => 00000000 00000000 00000000 00000001
//   => 00000000 00000000 00000000 00000100
//本质是 1*2*2=4

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值