Java概述
- 1.什么是程序
- 程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合
- Java重要特点
- 1.Java语言是面向对象的
- 2.Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等,是Java程序健壮性的重要保证。
- 3.Java语言是跨平台性的,即一个编译好的.class文件可以在多个系统下运行,这种特性称为跨平台
- 4.Java语言是解释性的
- Java核心机制 - Java虚拟机 JVM
- 1.JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器,包含在JDK中
- 2.对于不同的平台,有不同的虚拟机
- 3.Java虚拟机机制屏蔽了底层运行平台的差别,实现了"一次编译,到处运行"。
- 什么是JDK,JRE
- JRE=JVM+Java SE标准类库
- JDK=JRE+开发工具集(例如Javac.java编译工具等)
- Java 转义字符
- \t :一个制表位,实现对齐功能
- \n :换行符
- \\ :一个\
- \" :一个"
- \' :一个'
- \r :一个回车
- Java 中的注释类型
- 1.单行注释:// something
- 2.多行注释:/ *something */
- 3.文档注释:/** *something */
- DOS命令
- cd,dir,tree,md,rd,cls,copy,del,echo,move,type(这些都是常用的)
- 路径
- 相对路径:从当前目录开始定位,形成的一个路径
- 和绝对路径:从顶级目录d,开始定位,形成的路径
变量
- 变量
- 变量概念
- 变量相当于内存中一个数据存储空间的表示,你可以把变量看做一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量。
- 变量使用注意事项
- 1.变量表示内存中的一个存储区域。不同的变量,类型不同,占用的空间大小不同。
- 2.该区域有自己的名称(变量名)和类型(数据类型)
- 3.变量必须先声明,再使用
- 4.该区域的数据可以在同一类型范围内不断变化
- 5.变量在同一作用域内不能重名
- 6.变量=变量名+值+数据类型
- 变量概念
- 数据类型
- 基本数据类型
- 数值型
- 整数类型,存放整数 byte[1],short[2],int[4],long[8]
- 浮点(小数)类型 float[4],double[8]
- 字符型 char[2],存放字符
- 布尔型 boolean[1 bit] 存放true,false
- 数值型
- 引用数据类型
- 类 class
- 接口 interface
- 数组[ ]
- 基本数据类型
- 基本数据类型转换
- 自动类型转换(数据类型按 精度/容量 大小顺序自动转换)
- char-->int-->long-->float-->double
- byte-->short-->int-->long-->float-->double
- 强制类型转换
- 自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符,但可能造成精度降低或溢出,要格外注意。
- 细节说明:
- 当数据要从大的数据类型转换到小的,就需要强制转换
- 强转符号只针对于最近的操作数有效,往往会使用小括号提升优先级
- char类型可以保存 int 的常量值,但不能保存int的变量值,需要强转
- byte和short,char类型 在进行运算时,当做 int 类型处理。
- 自动类型转换(数据类型按 精度/容量 大小顺序自动转换)
- 基本数据类型和String类型的转换
- 基本类型转String类型:将基本类型的值+"",String a=(int)b+"";
- String类型转基本数据类型通过基本类型的包装类调用相应的方法
- int a=Integer.parseInt((String)b);
- {类似的Double.parseDouble(), Float.parseFloat(), Short.parseShort() Long.parseLong(), Boolean. parseBoolean(), Byte.parseByte()}
- 字符编码表
- ASCll,Unicode,utf-8,gbk,gb2312,big5 码
运算符
- 运算符介绍
- 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
- 算术运算符
- 算术运算符是对数值类型的变量进行运算的,在Java程序中使用的非常多
- +,-,*,/,%,++,--
- 关系运算符(比较运算符)
- 关系运算符的结果都是boolean型,true/false
- 关系表达式 经常在 if 结构的条件中或循环结构的条件中
- ==,!=,<,>,<=,>=,instanceof
- 逻辑运算符
- 用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值
- && || ,短路与,短路或,当判断第一个条件成立时,第二个条件不会执行。
- & | , 逻辑与,逻辑或,当判断第一个条件成立时,第二个条件也会判断。
- !(非,取反),^(逻辑异或)
- 赋值运算符
- 赋值运算符就是将某个运算后的值,赋给指定的变量
- =,+=,-=,*=,/=,%=
- 三元运算符
- 条件表达式 ?表达式1 :表达式2;
- 运算规则:
- 如果条件表达式为true,运算后的结果是表达式1;如果条件表达式为false,运算后的结果是表达式2.
- 运算符优先级
- 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。
- 标识符的命名规则和规范
- Java对各种变量,方法和类德国命名时使用的字符序列称为标识符,凡是自己可以起名字的地方都叫标识符。命名规则必须遵守,命名规范看起来更加专业。
- 命名规则
- 由26个英文字母,0~9,$组成;数字不可以开头;不可以使用关键字和保留字,但能包含关键字和保留字;Java中严格区分大小写,长度无限制;标识符不能包含空格。
- 命名规范
- 包名:对单词组成时所有字母都小写,xxxyyyzzz;
- 类名、接口名:多单词组成时,所有单词的首字母大写,XxxYyyZxx;
- 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写,xxxYyyZzz;
- 变量名:所有字母都大写,多单词时每个单词用下划线连接:XXX_YYY_ZZZ
- 关键字
- 定义:被Java语言赋予了特殊含义,用做专门用途的字符串,关键字中所有字母都为小写
- 举些列子:
- 用于定义数据类型的关键字
- class, interface, enum, byte, short, int, long, float, double, char, boolean, void
- 用于定义数据类型的关键字
- true, false, null
- 用于定义流程控制的关键字
- if, else, switch, case, default, while, do, for, break, continue, return
- 保留字
- Java保留字,现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标识符时要避免使用这些保留字byValue, cast, future, generic, inner, operator, outer, rest, var, goto, const
- 键盘输入语句
- 在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。Input.java 需要一个扫描器,就是Scanner。System.in是标准输入,指的是位置(键盘)。
- 进制
- 对于整数由四种表示方式:二进制(以 0b / 0B 开头),八进制(以0开头),十进制,十六进制(以0x/0X开头)
- 二进制
- 现代的计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制数用0和1两个数字及其组合来表示任何数。禁止规则是"逢2进1",数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。
- 原码、反码、补码(重点,难点)
- 对于有符号的而言:
- 1.二进制的最高位是符号位,0表示正数,1表示负数;
- 2.正数的原码,反码,补码都一样;
- 3.负数的反码=它的原码符号位不变,其它位取反;
- 4.负数的补码=它的反码+1,负数的反码=负数的补码-1;
- 5. 0的反码,补码都是0
- 6.java没有无符号数,换而言之,java中的数都是有符号的。
- 7.在计算机运算的时候,都是以补码的方式来运算的
- 8.当我们看运算结果的时候,要看他的原码(重点)
- 对于有符号的而言:
- 位运算符
- & :按位与
- | :按位或
- ^ :按位异或
- ~ :按位取反
- >> :算数右移,低位溢出,符号位不变,并用符号位补溢出的高位
- << :算数左移,符号位不变,低位补0
- >>> :逻辑右移,也叫无符号右移,低位溢出,高位补0