黑马程序员_源自梦想 java基础知识注意点

-------  android培训 java培训 、期待与您交流! ---------

1. 一个.java文件可以有多个class,但只能有一个public修饰的类并且文件名必须与之一致(要么都不用public,编译时javac 文件名.java,运行时java 指定类名就ok)
/**
 * 文件名 cwk.java
 * cmd javac cwk.java
 * 		  java Demo运行Demo输出"hello"
 * 		  java Demo1输出"cwk"
 * @author Hainuo
 *
 */
class Demo {	
 public static void main(String[] args) {
		System.out.println("hello");
	}
}
class Demo1{
	public static void main(String[] args){
		System.out.println("cwk");
	}
}



2.if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2;
	int x = 0;
		if(x==2){}else{}
		
	 x = (x==2) ? 1: 0; 
  三元运算符:
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。

3.&和&&的特点:
&:无论左边是true是false。右边都运算。(&通常用于位运算(与),逻辑与运算有时会抛出NullPointerException)
&&:当左边为false时,右边不运算。   
String str = null;
			if(str != null && str.equals("")){} 
			if(str != null & str.equals("")){} //会抛出NullPointerException //str.equals("")-->null.equals("")而null不能用作比较("".equals(null)不会抛出空异常) 
			//******************************** 
			int x1 = 0; 
			if(x1 == 2 && x1++ >0){}System.out.println(x1); //x1=0 
			if(x1 == 2 & x1++ >0){}System.out.println(x1); //x1=1




4.不通过第三方变量进行两变量互换
   int x = 2;
	   int y = 1;
	   x = x + y ;
	   y = x - y;
	   x = x - y;
	   System.out.println(x + "," + y);// 1,2
	   
	   int x1 = 2;
	   int y1 = 1;
	   x1 = x1 ^ y1;
	   y1 = x1 ^ y1;
	   x1 = x1 ^ y1;
	   System.out.println(x1 + "," + y1);//1,2
5.==与equals
		/**
		 * "==" 用于地址比较(两变量所对应的内存中所存储的数值是否相同,用于比较两基本类型或两个引用变量是否相等)
		 * "equals" 用于字符串内容比较
		 */
		String str1 = new String("cwk");
		String str2 = new String("cwk");
		System.out.println(str1 == str2);//false -->地址比较两变量所指向的地址不同
		System.out.println(str1.equals(str2));//true -->内容相同
6.运算 >>(有符号右移) | <<(有符号左移) | >>>(无符号右移)
负数右移有余+1;正数右移有余去除
byte x =127;//01111111
		System.out.println(x & 0x0f);//15 (00001111)获取低四位
		System.out.println(x & 0xf0);//112(01110000)获取高四位(相对byte(8位)类型)
	
		
		System.out.println(-3>>1); //-2
		System.out.println(-3<<1); //-6 
		System.out.println(-3>>>1);//2147483646  无符号右移最高位补0(int(32位))
		System.out.println("-3:\t"+Integer.toBinaryString(-3)+ "-->" + Integer.toHexString(-3));
		System.out.println("-3>>1:\t"+Integer.toBinaryString(-3>>1)+ "-->" + Integer.toHexString(-3>>1));
		System.out.println("-3<<1:\t"+Integer.toBinaryString(-3<<1)+ "-->" + Integer.toHexString(-3<<1));
		System.out.println("-3>>>1:\t"+Integer.toBinaryString(-3>>>1)+ "--> " + Integer.toHexString(-3>>>1));
//-------结果-------------
15
112
-2
-6
2147483646
-3:	11111111111111111111111111111101-->fffffffd
-3>>1:	11111111111111111111111111111110-->fffffffe
-3<<1:	11111111111111111111111111111010-->fffffffa



7.switch(int类型(byte、char、short) || java7.0支持String类型但不包括StringBuilder和StringBuffer)

byte x = 1;
		switch(x){
			case 1:
				System.out.println("hh");
				break;
			case 2:
				System.out.println("cwk");
				break;
			default: System.out.println("yy");
		}
//-------结果------
hh
//#####################
byte x = 1;
		switch(x){
			case 1:
				System.out.println("hh");
				//break;
			case 2:
				System.out.println("cwk");
				//break;
			default: System.out.println("yy");
		}
//-------结果---------
hh
cwk
yy

8.  什么时候定义变量?
  当数据不确定的时候。需要对数据进行存储时。
就定义一个变量来完成存储动作。

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值