一 程序中常见的错误:
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判断。