黑马程序员_java基础

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

java的基础部分

1 标识符由英文字母,数字0到9 ,$和_组成,数字不能开头

 

2 每个字节是由八个开关组成的,八个二进制代表一个字节

  八进制三位代表一位,十六进制四位代表一位

 

3 十进制转为二进制   除二取余数 从右边开始  java中有对应的方法把十进制转为二进制:

Integer.toBinaryString(6)

/*
例子1:
这是一个十进制转为二进制的运算代码

方法和步骤:
二进制转为十进制   除二取模运算

注意以下例子的输出结果是00001   ,我们要按着输出结果后面读起,因为第一个做运算的结果被第一个打印出来了
*/

class ToTwo
{
	public static void main(String[] args)
	{
	int x=16;
	System.out.println(Integer.toBinaryString(x));//这里是直接调用方法输出二进制结果  10000
	while(x>0)
	{
	System.out.print(x%2);  //打印x%2的值
	x=x/2;  //把x除以2
	}
	}
}

4 负数的二进制表现形式

  二进制取反加一  取反:将二进制的1变成0,0变成1

  负数的最高位都是1


5 定义char类型时要带上''    char a='1';  //定义字符类型时,都要带上单引号


6 取模运算,就是取余数  a%b  

左边小于右边的时候结果是左边    a<b  a

左边等于右边结果是零                a=b  0  

右边是1                                                结果是0

 

7 转义字符\n:换行    转义字符要写在被转义字符的前面

  \b:退格

  \r :按下回车键  

 window系统,回车符是由两个字符来表示\r\n

 Linux系统,回车符是\n表示

  \t:制表符,相当于tab键          使输出结果更美观

 

8 x+=3  左右两边的和赋给左边

   x+=3和x=x+3的区别:

   左边会自动提升

 

/*
例子2:测试是否自动提升
*/
class TiSheng
{
       public static void main(String[] args)
       {
       short x=1;
  //相当于x=x+3      x是短整形short , 3是整形int  ,右边的x+3运算时x会自动提升为整形int,那么右边的运算结果是int类型
这时候左边的x会自动提升为int类型,所以程序不会报错
       x+=3;  
 
//x=x+3;这样写程序会报可能损失精度的错误,因为右边x+3运算结果是int类型,而x是short类型,x不会自动提升,把int类型赋值给short类型会损失精度,   可以让它强制提升:x=(int)(x+3); 
       x=x+3;
       System.out.println(x);
       }
}


9 ^异或:两边相同结果是假,两边不同结果是真

  &&   双与:如果左边是假了就不运算了      

  &和&&的特点:

  &:无论左边是true是false,右边都运算

  &&:当左边为false时右边不运算     提高了效率

  

  |:两边都参与运算

  ||:当左边为true,右边不运算

10 <<左移:化为二进制之后左移,右边用0补  (其实是乘以2的移动的位数次幂)

   >>右移:化为二进制之后右移,左边补原来最高位的数 (其实是除以2的移动的位数次幂)

   >>>带符号右移:右移,左边补0

 

/*
 例子3:十进制转为十六进制
 */
class Test
{
       public static void main(String[] args)
       {
       int num=60;
       //&15把最后四位取出来
       int n1=num & 15;
       //判断n1是否大于9,如果大于9就把n1转为字母,小于9就输出数字
       if (n1>9)
              System.out.println((char)(n1-10+'A'));      
       else
                     System.out.println(n1);
       int temp=60>>>4;
       int n2=temp & 15;
       if (n2>9)
       {
              System.out.println((char)(n2-10+'A'));      
       }
       else
              System.out.println(n2);
      
       }
}

11 一个数和同一个数&两次,结果还是这个数

这个方法用于编码和解码

 

12 如果if控制的语句只有一条,中括号可以不写;如果if没有中括号的话if只控制   离他最近的那条语句,不加中括号要写得有层次

   if(x>3)

       System.out.print(a);

  System.out.print(b);

   如果不见中括号,只执行System.out.print(a);

 

13 if else结构 简写格式:变量=(条件表达式)?表达式1:表达式2;

       例子

       a>b? a:b   如果a>b则返回a否则返回b

 

   三元运算符:

   好处;可以简化if else代码

   弊端: 因为是一个运算符,所以运算完必须有一个结果

  n2>9?(char)(n2-10+'A'):n2

   因为和n2比较,char类型会提升为int类型

 

14 switch(表达式)

   {

     case 取值1;

       执行语句

       break   

     case 取值1;

        执行语句

       break   

     .....

    default;

        执行语句

   关于switch

       1.小写,因为java是强类型语言

       2.switch()里边的值只能是int short byte char

       string(1.7新加入)

       3.default放在哪都可以

       4.千万别忘break;如果忘了程序就会顺序执行

      

   }default是最后读的语句,如果default放在最上面,而且又没有写结束语句的  话,一直读下去,直到读到结束语句为止

   如果条件都不满足就读defult默认语句,一般来说defult下面不用写break,

 

/**
例子4需求:根据月份,输出这个月份所属的季节
12,1,2为春季;3,4,5为夏季;6,7,8为秋季;9,10,11为冬季
*/
class SwitchTest
{
       public static void main(String[] args)
       {
       int num=3;
       Switch(num)
       {
       case 12:
       case 1:
       case 2:
         System.out.print(num+"现在的季节是春季");
         break;
       case 3:
       case 4:
       case 5:
         System.out.print(num+"现在的季节是夏季");
         break;
       case 6:
       case 7:
       case 8:
         System.out.print(num+"现在的季节是秋季");
         break;
       case 9:
       case 10:
       case 11:
         System.out.print(num+"现在的季节是冬季");
         break;
       default:
         System.out.print("nono");
       }
       }
}


15 if和switch语句很像。

   具体什么场景下,应用那个语句呢?

   如果判断的具体数值不多,而且符合 byte  short   int  char这四种类型

   虽然两个语句都可以使用,建议使用switch语句,因为效率稍高。

   其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广

 

 

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

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值