一 程序中常见的错误:
1,语法错误
2, 逻辑错误
3,运行时错误
二 定义class类的时候,如果前面加个public 那么class的类名必须要和文件名一致,否则就会 出现编译错误
三 编译源文件时,如果源文件中定义了多个类,那么每个类会形成一个*。class文件。执行时, 通过java类名,运行的是该类中的main方法。
四 main方法是程序的入口点。是程序执行的第一个方法。定义main方法public static void main(String[] args){} 如果main方法原型不正确,那么在执行时,会报程序找不到入口 点的错误。
五 开发java应用程序时,需要使用jdk/bin目录中的javac.exe,进行源文件的编译,需要使用 jdk/bin目录中的java.exe,进行java类的执行。所以,需要将*.java源文件拷入jdk/bin目录 中,才能找到这两个命令。这样,不便于项目的管理。为了让开发者能够在任何目录下都能使 用jdk的编译和运行环境,所以需要配置环境变量。
六 配置环境变量的作用是:当开发者使用javac和java命令时,如果当前目录下不存在这两个命令,那么 系统可以在指定的目录下查找这两个命令。
七 环境变量的配置:
右键单击计算机——>属性——>高级系统设置——>高级选项卡——>环境变量——>系统变量中的path 变量中,添加jdk/bin目录的路径
八 dos常见命令:
cd\ 表示回到当前盘符根目录
cd 目录路径 表示进入该目录
d: 表示进入D盘
变量: 变量一块命名的内存空间。空间的内容可以发生变化。开发者通过新数据去替换老数据,达到内存空间重用的效果。
变量三要素: 变量名,数据类型,变量值
//变量在使用之前必须完成初始化,就是必须赋值的意思,否则编译错误。
常量: 常量也是一块命名的内存空间。但是空间的内容是不能再运行期间改变的。前面加一个final
例:final int x = 9;
使用常量的意义:
1, 可以通过常量,引入业务的名称。
2,在编译时,修改常量的值以后,可以做到一改全改。
java的数据类型有两种:基本数据类型,引用数据类型。
基本数据类型分为8种:
四个整型: byte 字节型 (1个字节)(取值-128~127)
(放整数) short短整型 (2个字节)
int 整型 (4个字节)
long 长整型 (8个字节)
//整数和整数进行运算,结果至少是int类型
两个浮点型: float 单精度浮点型(4个字节)
(可以放小数) double 双精度浮点型(8个字节)
//分为整数部分和小数部分,字节比整数小,但容量比整数long大;
//小类型可以直接用大类型进行存放 例:double x = 4;(double>int)
//浮点常量默认为double类型,不能直接赋给float变量。 例:float a = (float)1.4;(或者1.4f)
字符型: char(2个字节)
字符类型在内存中,是以整形方式存放的。所以字符类型可以像整形一样运算
运算时,是将字符对应的ASC码做运算
在java中,采用unicode编码,一个字符占两个字节,所以,一个字符中可以存放一个中文字
布尔型: boolean 取值true(真),false(假)
标识符: 凡是可以命名的地方都称为表示符,通常利用标识符对类,方法,以及变量,进行命名。
标识符命名规则: 标识符只能以字母,数字,下划线,以及$组成。并且不能以数字开始。
标识符命名规范: 单个类名以大写字母开始,多个类名采用驼峰命名,首字母小写,后面首字母大写。
方法名和变量名,以小写字母开始,采用驼峰命名,首字母小写,后面首字母大写。
常量,全部由大写字母组成
标识符要做到见名知意。
标识符分为两类: 系统标识符合用户标识符。
系统标识符,也称为关键字,具有特殊的含义
用户标识符,开发者自定义的标识符。不能与系统标识符冲突。
类型转换:分为两种,自动类型转换和强制类型转换
自动类型转换原则:容量小的类型自动转换为容量大的数据类型;
强制类型转换原则:容量大转容量小需要在前面加(数据类型);
例:double x = 1.2;
int a =(int)x;
System.out.print(a);
强制转换的缺点:可能会造成精度降低或溢出,使用时要小心;
boolean类型不可以转换为其它数据类型;
关系运算符 ==和=的区别: ==表示比较,比较两个变量的值是否相等,返回的是boolean值。
(>,<,>=,<=,==,!=)
算术运算符 ++和--:
(+,-,*,/,%,++,--)
逻辑运算符
&&(并且)和||(或)和!(非):
&&:当两个条件同时满足,结果才为真,有一个条件不满足,结果都假。另外,&&也是短路运算符,当地一个条件为假时,第二个条件不做判断。
||:当两个条件有一个条件为真时,结果都为真,只有两个条件同时为假,结果才为假。
!:将true变成false,将false变成true
比较字符串是否相等,应该采用equals方法
位运算符
(&,|,^,~,>>,<<,>>>) >> 相当于除2操作,去掉该数二进制码的最后一位
<< 相当于乘2操作,在该数二进制码的后面填一个0
好处是:快速计算,占用时间少
面试题:如何快速计算2的三次方
System.out.println(2<<2);
& 将两个操作数转成二进制码。对应的二进制码如果都是1,结果才是1,有一个是0,结果都是0
| 将两个操作数转成二进制码。对应的二进制码有一个是1,结果都是1,只有两个都是0结果才是0,两个都是1,结果才是1
^ 将两个操作数转成二进制码。对应的二进制码不相等,结果为1,如果相等结果为0
&&和&的区别 1,&&是逻辑运算符,要求操作数只能为boolean类型。&是位运算符,操作数可以使boolean类型,也可以是int
2,&&是短路运算符。当第一个条件为假时,第二个条件不做执行。&为非短路运算符。无论第一个条件是否为假,第二个条件都会执行。
赋值运算符(=)
扩展运算符
三元运算符 ?前面为布尔值,当布尔值为真时,将1赋给值a,当布尔值为假时,将0赋给a
( ? : ) 例:Int a = x>2?1:0
运算符的优先级
. () {} 点,括号
| |
| |
++ -- !(类型强转)一元运算符
+ - * / % 算术运算符
| |
| |
>= < <=关系运算符
| |
| |
逻辑运算符 && ||
| |
| |
赋值运算符 = += —= *= /=
表达式 是由运算符和操作数组合构成的。最简单的表达式是一个单独的操作数,以此作为基础可以建立复杂的表达式
If语句 if…….else if 和多个if 的区别
If…….else if 是一条语句,只会执行其中一个if块或 else if 块。当其中一个条件满足后,不会再执行其他语句块
多个if是多条语句,每个if判断都是会执行的。
Switch语句 执行顺序:
Switch()中,是一个表达式。首先执行和表达式结果匹配的选项。顺序执行,遇到第一个break,跳出switch判断。