java学习--基础第一天--笔记

计算机语言
人与计算机进行信息交换的语言

分类:
机器语言:二进制,包括01
汇编语言:一些符号
高级语言:英文字母编写,比如java语言、c语言

键盘的功能键和快捷键
功能键
tab 制表符,对代码进行缩进
shift 上档键
ctrl
enter 回车换行
alt

快捷键
ctrl+a 全选
ctrl+c 复制
ctrl+v 粘贴
ctrl+z 撤销上一步
ctrl+y 取消撤销
ctrl+x 剪切
ctrl+s 保存

win+d 回到桌面
win+l 锁屏
win+r 运行窗口

Java语言的发展史
Java之父:詹姆斯.高斯林
开发的公司:sun

1995年出现
1996年JDK1.0版本出现
1998年JDK1.2版本出现(j2se/j2me/j2ee)
2004年JDK1.5版本出现(javase/javame/javaee)

2009年sun公司被Oracle公司给收购了

Java语言的三大平台
javase:用于开发桌面应用程序,就是我们基础班学习的内容
javame:用于开发嵌入式以及移动的应用
javaee:用于开发web项目

JVM、JRE和JDK的区别
JVM:Java虚拟机,用于运行.class字节码文件
JRE:Java运行环境,包含JVM和核心类库
JDK:Java开发工具包,包含了JRE和开发工具,开发工具包括javac.ext,java.exe,jar.exe等

JDK > JRE > JVM

简单地说,如果要运行Java程序就必须安装JRE,如果要开发Java程序就必须安装JDK

Java语言的跨平台原理
平台:操作系统
跨平台:Java语言在不同的操作系统下都可以运行,
在一个操作系统中编写的Java程序可以放到其他的操作系统中运行

JVM保证了跨平台性,在不同的操作系统下有不同的JVM


常用的DOS命令
打开DOS窗口
win+r

盘符切换(E:)
目录切换(cd,使用时一定要注意必须是当前相同的盘符下,否则必须先切换盘符,再使用cd切换目录)
cd 目录
cd 回到盘符的根目录
cd.. 一级级向上
查看目录下的所有文件和子目录
dir

清屏
cls
退出
exit

JDK的安装目录介绍
bin:二进制文件,里面包含一些开发工具
db:Java内置的小型数据库
include:一些C语言相关的头文件
jre:
lib:核心类库,里面包括了各种.jar文件
src.zip:源代码

HelloWorld案例
Java程序运行的三个步骤:
(1)源代码编写(.java文件)
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}

注意:
文件的后缀名为.java,必须显示后缀名,否则的话有可能出错
类名和文件名完全一致
main方法也称为主方法,它是程序的入口,它能保证程序的独立运行
代码中所有的符号必须都是英文状态下的符号
java语言是严格区分大小写

(2)对源代码编译(.class文件)
javac 文件名.java

(3)运行.class文件
java 类名

Path环境变量
保证在任意路径下都可以找到javac.exe或者java.exe这样的工具

JAVA_HOME D:developJavajdk1.7.0_72
PATH %JAVA_HOME%in = D:developJavajdk1.7.0_72in

注释
作用:
(1)用于对代码解释说明,提高代码的阅读性
(2)调试代码

分类:
(1)单行注释
//

(2)多行注释
/*

*/
(3)文档注释
/**

*/


关键字
在Java语言中被赋予了特殊含义的单词

特点:
(1)都是由英文小写组成的单词
(2)在高级的代码编辑器中会有特殊的颜色标记

常见关键字:
public class static void

注意:main、out都不是关键字

常量(字面值常量)
什么是常量
在程序运行的过程中,其值不发生改变的量

常量的分类
字符串常量 "abc"
整数常量 20 -12
小数常量 1.2 -3.45
字符常量 'a' '9'
布尔常量 true false
空常量 null

变量
什么是变量
变量是内存中的一小块区域。在程序运行过程中,其值可以在一定范围内发生改变的量

变量的定义格式:
数据类型 变量名 = 初始化值;

计算机存储单元
最小的存储单元是byte(字节)

1B字节 = 8 bit 比特
1KB = 1024 B
1MB = 1024 KB
1GB = 1024 MB
1TB = 1024 GB
1PB = 1024 TB


数据类型
基本数据类型(4类8种)
整数类型 字节数 范围
byte 1 -128~127(-2^7 ~ 2^7-1)
short 2 -2^15 ~ 2^15-1
int 4 -2^31 ~ 2^31-1
long 8 -2^63 ~ 2^63-1

浮点数类型 字节数
float 4
double 8

字符类型 字节数 范围
char 2 0~65535

布尔类型 字节数
boolean 1 true false

引用数据类型

接口
数组
枚举

注意:
整数的默认类型是int
小数的默认类型是double
定义float数据时必须在数的后面加上F或者f
定义long的数据时要在数的后面加上L或者l


标识符
用来给包、类、方法、变量和常量取名字的符号

组成规则:
(1)unicode字符
数字、英文的大小写字母,中文、韩文、日文
(2)下划线(_)
(3)美元符($)

注意事项:(不遵循就会报错)
(1)不能以数字开头
(2)不能是Java中的关键字


以下哪些是合法的标识符
_123$ √
hello world ×,因为组成规则中不能包含空格
classmate √
10 ×,因为是以数字开头了
$class √

命名规则:(不遵循不会报错,但是你写出的代码不按规则就不专业)
包:全部小写,一般都是公司域名倒着写,多级包之间用.分割
域名:www.itheima.com
包名:com.itheima.test
类:
如果一个单词组成,首字母大写,其余字母小写
如果多个单词组成,每一个单词的首字母大写,其余字母小写
Hello
HelloWorld

方法和变量:
如果一个单词组成,所有的字母都小写
如果多个单词组成,从第二个单词的首字母大写,其余的都小写
age
maxAge

常量:
所有的单词都大写,如果多个单词,每个单词中间用下划线分割
PI
MAX_AGE

变量定义的注意事项
(1)变量未赋值不能使用
(2)变量有作用域(作用的范围),在其所在的那对最近的大括号内有效
(3)在一行中可以定义多个变量,但是变量必须都是同一种类型


类型转换
隐式转换(由表数范围小的自动转为表数范围大的)

byte short char->int ->long ->float ->double

其中byte、short和char这三者之间进行运算(+ - * /等)会提升为int类型

强制转换(由表数范围大的强制转为表数范围小的)
强制转换的格式:
要转换的类型 变量名 = (要转换的类型)被转换的数据;

byte b = (byte)i;
byte a =10;

注意:boolean类型的变量不能和其他类型的变量进行运算