1.一个数字1或者一个数字0,代表一个位(bit)
每逢8个位就是一个字节(Byte)
1 Byte = 8 bit
1 KB = 1024 Byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
1 PB = 1024 TB
1 EB = 1024 PB
1 ZB = 1024 EB
2.Dos常用命令
1. 切换盘符
D:Windows当中的文件夹路径不区分大小写。
2. 创建一个文件夹:md 文件夹名称
3. 切换文件夹路径:cd
cd 文件夹名称
cd ..返回上一级路径
cd 文件夹1\文件夹2\文件夹3
cd \ 返回根路径
4. dir 查看当前路径下的内容
5. cls 清屏
6. exit 退出
3. HelloWorld案例的编写与运行
l 案例的代码编写
Java源代码编写只需要使用最普通的文本编辑器编写即可,例如Windows系统自带的notepad即可。
然后修改文件名称为HelloWorld.java,注意文件名称的大小写。以及是否已经修改了文件的扩展名。
☀首先定义一个类
public class 类名
在类定义后加上一对大括号
{}
☀ 在大括号中间添加一个主(main)方法/函数
public static void main(String [] args){ }
在主方法的大括号中间添加一行输出语句
System.out.println(“HelloWorld”);
☀ 完整代码:
publicclass HelloWorld{
publicstaticvoid main(String[] args){
System.out.println("HelloWorld");
}
}
案例的代码运行
n 编译
█ 进行源文件所在目录:即进入D:\java目录;
█ 我的JDK安装在D:\develop\Java\jdk1.7.0_51目录,那么编译器完整名称为:D:\develop\Java\jdk1.7.0_51\bin\javac.exe;
█ 我的源文件存放在:D:\java\HelloWorld.java;
█ 编译命令为:D:\java>D:\develop\Java\jdk1.7.0_51\bin\javac.exeHelloWorld.java
█ 运行
█ 进入字节码文件所在目录:即进入D:\java目录;
█ D:\develop\Java\jdk1.7.0_51\bin\java.exe HelloWord;
█ 注意,在运行HelloWorld.class文件时不能给出“.class”,切记!!!
4. Path环境变量配置
① 为什么要配置
我们发现每次程序编译与运行都要输入D:\develop\Java\jdk1.7.0_51\bin后,才能使用javac.exe与java.exe,这样的方式很麻烦,那么,能否不输入D:\develop\Java\jdk1.7.0_51\bin呢?是可以的,通过配置Windows的PATH环境变量来完成。
② 我们配置path的目的是让Java的bin目录下的.exe命令可以在任意目录下执行,无需进入到javac所在的目录就可以找到javac.exe命令,方便完成程序。
③ 如何配置
创建新的变量名称:JAVA_HOME
计算机-右键属性-高级系统设置-高级-环境变量-系统变量
█ 为JAVA_HOME添加变量值: JDK安装目录
█ 在path环境变量最前面添加如下内容 %JAVA_HOME%\bin;
1.1.1 Java语言跨平台原理
█ 平台:指的是操作系统(Windows,Linux,macOS)
█ 跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行
即java的.class程序可以在不同操作系统上均可以运行。(java的.class文件相当于Windows中的.exe文件,是可执行的程序)
█ 原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)
比喻: JVM相当于翻译
l java语言是跨平台的,java虚拟机不是跨平台的。
JDK&JRE&JVM关系示意图
1.1 常量分类
█ 常量概述
█ 在程序执行的过程中,其值不可以发生改变的量
█ 字符串常量 用双引号括起来的内容(“HelloWorld”)
█ 整数常量 所有整数(12,-23)
█ 小数常量 所有小数(12.34)
█ 字符常量 用单引号括起来的内容(‘a’,’A’,’0’)
█布尔常量 较为特有,只有true和false
█ 空常量 null(数组部分讲解)
注意:字符串可以为空,单字符必须有且仅有一个字符
null 空常量 不能用于打印输出语句.
————————————————————————————————————————————————————
1 变量概述
在程序执行的过程中,在某个范围内其值可以发生改变的量
从本质上讲,变量是内存中储存数据的区域,你能用它来存数据和取数据,还可以改变这个数据。
变量(存放数据):在程序运行期间,一定范围内发生改变的量.
理解:1用来存放数据
2 数据内容可以发生改变
3一次只能存放一个数据
4可以根据变量名称使用其中的数据
5存放的数据必须满足数据类型的要求
2 变量概述
作用
给包,类,方法,变量等起名字
组成规则(硬性规定)
由字符,下划线_,美元符$组成
这里的字符采用的是Unicode字符集,所以包括英文大小写字母,中文字符,数字字符等,但符号只能有两个:下划线_和美元符$。
注意事项(硬性规定)
不能以数字开头
不能是Java中的关键字
命名规则(软性建议)
基本要求
见名知意
常见命名的规则
包 (其实就是文件夹,用于对类进行管理)
全部小写,多级包用点隔开。公司域名的反写。
cn.xxx (相当于两级文件夹:cn\xxx)
com.xxx (相当于两级文件夹:com\xxx)
类
一个单词首字母大写 Student Car
多个单词,每个单词首字母大写 HelloWorld 又叫大驼峰 命名
变量或者方法
一个单词首字母小写。 age show()
多个单词,从第二个单词开始每个单词首字母大写 maxAge getAge() 又叫小驼峰
3 数据类型概述
l 数据类型分类
|- 基本数据类型
|- 数值型
|- 整数类型byte,short,int,long
|- 浮点(小数)类型float,double
|- 字符型char
|- 布尔型boolean
|- 引用数据类型
|- 类class
|- 接口interface
|- 数组[]
l 基本数据类型(4类8种)
四类 | 八种 | 字节数 | 数据表示范围 |
整型 (精确) |
byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int(默认) | 4 | -2147483648~2147483647 | |
long | 8 | -263~263-1 | |
浮点型 (不精确) |
float | 4 | -3.403E38~3.403E38 |
double(默认) | 8 | -1.798E308~1.798E308 | |
字符型 | char | 2 | 表示一个字符,如('a','A','0','家') |
布尔型 | boolean | 1 | 只有两个值true与false |
l 注意事项:
A:整数默认是int类型,浮点数默认是double
B:定义long类型数据的时候,要加L或者l,建议加L
例如: long l = 6000000000L;
定义float类型数据的时候,要加F或者f,建议加F
例如: float f = 12.34F;
C:Java中的字符采用的是Unicode字符集,每一个字符占用两个字节,char就可以存储一个汉字
D:boolean类型适用于逻辑运算,一般用于流程控制
4 变量定义的注意事项
l 变量未赋值,不能直接使用
引出变量的第二种使用格式
变量只在它所属的范围内有效。
变量在哪对大括号内,变量就属于哪对大括号
一行上可以定义多个变量,但是不建议
5 类型转换
boolean类型不能转换为其他的数据类型
默认转换: 范围小的数据类型直接转换成范围大的数据类型
转换规则byte,short,char—int—long—float—double
注意事项byte,short,char相互之间不转换,他们参与运算首先转换为int类型
格式: 范围大的数据类型 变量 = 范围小的数据类型值;
强制转换: 表示范围大的数据类型强制转换成范围小的数据类型
范围小的数据类型 变量 = (范围小的数据类型) 范围大的数据类型值;
不建议,有可能损失精度
6 运算符
概述
l 运算符概述
对常量和变量进行操作的符号称为运算符
l 表达式概述
用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。
定义两个int类型的变量a,b,做加法(a + b)
常用运算符
1.算术运算符
+、-、*、/、%(n 两个相除数据的余数。用处: 判断两个数据是否整除)
++、--的用法
++,--运算符:对变量做加1或者减1操作。 ++,--既可以写在变量的后面,也可以写在变量的前面
①单独使用:
++,--无论是写在变量的前面还是后面,结果是一样的
②和其它操作混合使用:
如果++,--写在变量的后面,先拿变量本来的值参与操作,结束后变量做++,--
如果++,--写在变量的前面,先把变量做++,--,再用改变后的值参与操作
2 赋值运算符
l 基本的赋值运算符:=
l 扩展的赋值运算符:+=、-=、*=、/= 、%=
n 把左边和右边的结果赋值给左边。
n 注意:左边不能是常量
n 隐含了一个强制类型转换.
a +=3 a= a+3;
a -=3 a= a-3;
a *=3 a= a*3;
a /=3 a= a/3;
a %=3 a= a%3;
3.关系运算符
==,!=,>,<,>=,<=
关系运算符的结果都是boolean型,也就是要么是true,要么是false。
注意事项
关系运算符“==”不能误写成“=”
4. 逻辑运算符
l 作用:逻辑运算符用于连接布尔型表达式,在Java中不可以写成3
l 基本使用:&(与),|(或),^(异或),!(非)
n 与:& 有false则false
n 或:| 有true则true
n 异或:^ 相同则false,不同则true
n 非:! true则false,false则true
&&和&的区别 (作用相同,节约点性能)
n 单&时,左边无论真假,右边都进行运算;
n 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
n “|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
5. 三元运算符
l 基本使用
n 格式 (关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
n 示例:
获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。
public class Demo09Operator {
public static void main(String[] args) {
inta = 10;
intb = 20;
intc = (a>b) ? a : b;
System.out.println("c:" + c);
}
}
7 键盘录入Scanner类
概述
我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,把数据改进为键盘录入,提高程序的灵活性。
1 导包(位置放到class定义的上面)
import java.util.Scanner;
2 创建对象
Scanner sc = new Scanner(System.in);
3 调用方法接收数据
int x = sc.nextInt();
public class Demo01Scanner {
public static void main(String[] args) {
//创建键盘录入数据的对象
Scanner sc = new Scanner(System.in);
//接收数据
System.out.println("请录入一个整数:");
inti = sc.nextInt();
//输出数据
System.out.println("i:"+i);
}
}
1.next获取的字符串不能有空格,nextLine获取的方法字符串中可以空格
混合使用后 next nextInt nextDouble 等共享一个队列,但nextLine方法不排队, 解决方法,为nextLine单独创建一个Scanner