运算符优先级
- 不要刻意记这些优先级,表达式里面优先使用小括号来组织!
- 逻辑与、逻辑或、逻辑非的优先级一定要熟悉(非>与>或)。
- 如:a||b&&c的运算结果是:a||(b&&c),而不是(a||b)&&c
-
基本类型转化时常见错误
- 操作较大的数,要留意是否溢出,尤其是整数操作的时候
- L和I的问题:
- 不要命名名字为I的变量,I容易和数字1混淆
- long类型使用大写L,不要用小写I。
通过Scanner输入输出字符
import java.util.Scanner;
public class TestScanner{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
//输入用户名、年龄、月薪
System.out.println("请输入用户名:");
String uname = s.nextLine();
System.out.println("请输入你的年龄:");
int age=s.nextInt();
System.out.println("用户名:"+uname);
System.out.println("年龄:"+age);
}
}
简单内存分析
类
类可以看成一类对象的模板,对象可以看成该类的一个具体实例
类是用于描述同一类型的对象的一个抽象概念,类中定义了这一类对象所应具有的共同的属性、方法。
对于类来讲,有三种成员:属性(field)、方法(method)、构造器(constructor)
执行过程:
执行main方法时候,会在栈里执行这个方法
当执行到new SxtStu()时候,在堆中初始化了一个对象
堆中的方法执行的时候回去方法去找代码来执行
为实例对象编号,把编号存储到引用变量中
创建对象的过程
- 分配对象空间,并将对象成员变量初始化为0或空
- 执行属性的显式初始化
int i = 8; //就是这种
- 执行构造方法
- 返回对象的地址给相关变量
方法实例会在栈中运行,方法运行结束后应该会撤销