初学Java的一些注意事项
HelloWorld案例常见问题
A:找不到文件
a:文件扩展名隐藏导致编译失败
b:文件名写错了
B:单词拼写问题
a:class写成Class
b:String写成string
c:System写成system
d:main写成mian
C:括号匹配问题
a:把类体的那对大括号弄掉一个
b:把方法体的那对大括号弄掉一个
c:把输出语句的那对小括号弄掉一个
D:中英文问题
a:提示信息:错误: 非法字符: \????的格式
注意:java编程中需要的基本上都是英文字符
Java语言基础(Java语言的书写格式(约定俗成))
1,大括号要对齐,并且成对写
2,左大括号前面有空格
3,遇到左大括号要缩进,Tab
4,方法和程序块之间加空行让程序看起来清晰
5,并排语句之间加空行,例如for语句
6,运算符两侧加空格
关键字的注意事项
goto和const作为保留字存在,目前并不使用,类似Editplus这样的高级记事本,针对关键字有特殊的颜色标记。
标识符注意事项
1,不能使用关键字
2,不能数字开头
3,区分大小写
标识符命名规则
见名知意
* A:包
* 一般是公司域名倒过来,要求所有的字母小写
* www.zuikc.com
* com.zuikc.包名
* B:类或者接口
* 如果是一个单词首字母大写
* 如果是多个单词,要求每个单词首字母大写(驼峰标识) MyRunnable MyThead
* C:方法或者变量
* 如果是一个单词,每个字母都小写
* 如果是多个单词,从第二个单词首字母大写
* getName setName
* D:常量
* 如果是一个单词,所有字母大写
* 如果是多个单词,所有的单词大写,且用下划线区分每个单词
* JAVA_HOME MAX MAX_VALUE
原码反码:
* 反码
* 正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
例如:1111 1111 1111 1111 的反码是1000 0000 0000 0000
* 补码
* 正数的补码与其原码相同;负数的补码是在其反码的末位加1。
算术运算符的注意事项:
* a:+号在java中有三种作用,代表正号,做加法运算,字符串的连接符
* b:整数相除只能得到整数。如果想得到小数,必须把其中一个数据变化为浮点数类型,另一个数自动类型提升(取值范围小的类型自动向范围大的类型提升)
关系运算符的注意事项:
无论操作简单还是复杂 ,关系运算符算出的结果都是Boolean类型
“==”不能写成”=”
逻辑运算符的注意事项:
逻辑运算符一般用于连接boolean类型的表达式或者值。
选择结构if语句的注意事项
if (;;)后面没有分号 而是左大括号{
只有if后面可以接比较表达式,else后面不可以。
最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示。
选择结构switch语句的注意事项:
case 为具体值,常量。不可以写比较表达式。
不写break会造成case穿透。
循环结构注意事项之死循环
* A:一定要注意控制条件语句控制的那个变量的问题,不要弄丢了,否则就容易死循环。
* B:两种最简单的死循环格式
* while(true){...}
* for(;;){...}
关于数组的注意事项
* a:以下格式也可以表示二维数组
* 1:数据类型 数组名[][] = new 数据类型[m][n];
* 2:数据类型[] 数组名[] = new 数据类型[m][n];
* B:注意下面定义的区别
*
int x;
int y;
int x,y;
int[] x;
int[] y[];
int[] x,y[]; x是一维数组,y是二维数组 (拆开看 int[] 和int [] y [])
类的注意事项:
* 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则(why可以同名?)。
* 基本数据类型变量包括:byte,short,int,long,float,double,boolean,char
* 引用数据类型变量包括:数组,类,接口,枚举
构造方法注意事项:
构造方法没有返回值类型,连void都没有,也没有具体的返回值return。
如果我们没有给出构造方法,系统将自动提供一个无参构造方法。
如果我们给出了构造方法,系统将不再提供默认的无参构造方法。
注意:这个时候,如果我们还想使用无参构造方法,就必须自己手动给出。建议永远自己给出无参构造方法
static的注意事项
* a:在静态方法中是没有this关键字的
* 如何理解呢?
* 静态是随着类的加载而加载,this是随着对象的创建而存在。
* 静态比对象先存在。
* b:静态方法只能访问静态的成员变量和静态的成员方法
* 静态方法访问的:
* 如果是成员变量:只能访问静态变量
* 如果是成员方法:只能访问静态成员方法
* 非静态方法访问的:
* 成员变量:可以是静态的,也可以是非静态的
* 成员方法:可是是静态的成员方法,也可以是非静态的成员方法。
* 简单记:
* 静态只能访问静态
静态变量和成员变量的区别:
静态变量也叫类变量 成员变量也叫对象变量
* A:所属不同
* 静态变量属于类,所以也称为为类变量
* 成员变量属于对象,所以也称为实例变量(对象变量)
* B:内存中位置不同
* 静态变量存储于方法区的静态区
* 成员变量存储于堆内存
* C:内存出现时间不同
* 静态变量随着类的加载而加载,随着类的消失而消失
* 成员变量随着对象的创建而存在,随着对象的消失而消失
* D:调用不同
* 静态变量可以通过类名调用,也可以通过对象调用
* 成员变量只能通过对象名调用