JAVASE中遇到的问题及细节总结

JAVASE中遇到的问题及细节总结


1. 当数据类型中取值超出范围时,而且有类型限制,那么结果就强制转化为该类型。
eg.byte b=(byte)129;//129超出了byte的取值范围,强制转化为byte,对应的值为-127

2. 运算符的优先级?
一元>二元>三元
算术>关系>逻辑>赋值

3. 如何使用scanner来接受char类型的字符
scanner。next().charat(0);//字符串截取

4. while(condition) 条件里面如果写数字呢?
while条件里面只能输入bool值。
(以前遗留的问题,现在想不起来了,未果,遇到了再回来写)

5. 转型,int与string 如何相互转化?

		int i = 123;
		String str="123";
	
		//string转int
		//方法一
		int i1=Integer.parseInt(str);
		//方法二
		int i2=Integer.valueOf(str).intValue();
	
		//int转string
		//方法一 直接做加法加上“”
		String str1=i+"";
		//方法二 
		String str2=Integer.toString(i);
		//方法三 
		String str3=String.valueOf(i);
		/*注意:Double, Float, Long 与string转化方法与此方法类似.*/

6. ==与equals的比较
==适用于基本数据类型
而equals适用于引用数据类型!

7. 方法的重载??
函数名称要相同,参数类型不同 或者 参数的个数不同。
返回类型无所谓!不影响!

	//返回类型为void,
	public void print(int a) {
		System.out.println(a);
	}
	
	//返回类型为int  err:Duplicate method print(int) in type test01
	public int  print(int a) {
		System.out.println(a);
		return a;
	}这个是错误的
	
	public int print(int a,int b) {
		System.out.println(a+" "+b);
		return a+b;
	}//这个才是函数的重载

8. this关键词的使用
this 代表了对象自身的引用,指向当前对象。
用this的场合如下:
①方法中区分局部变量与成员变量的重名问题
②构造函数中,调用重载的构造函 数(注意只能写在第一行)
③返回当前对象的引用

9. static关键词的使用说明
①static可以用来修饰成员变量,称为类变量,在类第一次被实例化的时候被加载,之后在进行实例化的时候,该值不会被初始化,而是一直在变动。
②static修饰成员方法时,称为静态成员方法,该方法可以直接被调用,但是必须注意其中的成员变量必须也是被static修饰的成员变量。

/** 
* @author 刘平远
* @version 创建时间:2019年8月9日 下午2:23:00 
* 类说明 :类变量的说明,static 关键字的使用
*/
public class OOvars {

	private int id;
	private String name;
	public	int age;
	
	//被static修饰,称为 类变量 ,当第一次实例化就会被被加载,
	//之后实例化会被共享
	static int static_id;
	
	//普通成员方法,可以使用静态变量和成员变量
	public int  countNum(int a) {
		this.age=111;
		int b=1;
		static_id++;
		return static_id;
	}
	//静态方法
	public static void staticMethod() {
		//this.age=111;  err 静态方法中无法使用非静态的成员变量
		static_id=111;
	}
	
	
	public static void main(String[] args) {
		OOvars oOvars=new OOvars();
		System.out.println("oovars第一次默认值:"+static_id);//0
		oOvars.countNum(1);
		System.out.println("oovars运算了一次的"+static_id);//1
		OOvars oOvars1=new OOvars();
		System.out.println("oovar1第一次默认值:"+static_id);//1
		oOvars1.countNum(1);
		System.out.println("oovar1运算了一次:"+static_id);//2
		System.out.println("oovar现在的值:"+static_id);//2
		/*证明了static 修饰的成员变量,大家共享,每次实例化,不会被清重置,
		 * 在第一次实例化时,被加载,之后就一直会是这个。
		 * */
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值