javase_02(基础)

一:java的基本语法

       1.代码都是存放在class里面的

       2.严格区分大小写(num NUM)是两个不同的变量

       3.格式自由.

       4.单行注释与多行注释的和文档注释

       5.标识符:

       全部使用英文字母,骆驼式命名:从第二个单词开始,每个单词的首字母都要大写,其它的小写,(标识符不能为关键字,不能以数字开头)

 

二:java中的变量

    1.有八个原声数据类型和引用数据类型.

    2.类型转换:

      byte、short、char类型在运行过程中都会提升为int 类型(这样的方式叫自动类型)我们可以将一个int类型强制转换成byte、short、char类型 (需要强制类型转换!显示类型转换丢失精度.

      System.out.println('a'+1); 因为 1是int类型的,所以会升级为int 类型.

      System.out.println(""+'a'+1);(任何数字和字符串相并且都自动转换成字符串).

    3.变量的生命周期:

      在方法内定义的变量,当方法被调用的时候,变量被定义,当方法接收的时候。变量也会随着方法释放掉变量的作用域内是不可以重复定义,超出变量的作用域,变量将不能访问.

 

三:java中的函数

    1.定义:函数,又称为方法,能够完成某特定代码的代码块,其个名字,方便于方法的调用函数的作用: 就是可以重复的去利用某一段代码

    2.函数必须有的: 函数名 返回值  返回值类型  (形式参数看需求而定)

    3.形参:方法定义的形参相当于在方法中定义了一个局部变量,当这个方法被调用的时候,也就是对其方法里面的参数初始化啦!初始值为传递进来的参数

    4.返回值类型:可以为任意一个类型,有一种特殊:当方法没有返回值的时候,我们要把返回值类型定义为(void)

    5.return :在方法中可以使用return 返回一个值,(返回的值必须是与返回值类型一致)

    6.方法的重载:

              多个函数具有相同的名字,参数的个数或者类型不同都可以.  返回值类型不能做衡量方法的重载

 

四:java中的运算符

 

1.算术运算符   % 取模,也叫做取余

  ++自增1,--自减1

  ++x 与x++的区别: 本质上是没有区别的,x++是先参与运算再自加  ,而++x先自加一次才参与运算

  在取模运算中,模数的符号会被忽略,被模数符号不能被忽略

2.赋值运算符 = 是赋值的意思

  += ,-=,*=,\=,%=

3.比较运算符号: == 是相互比较的意思

    instanceof:判断该对象是否是属于指定的类型

4.逻辑运算符

    &和&&的区别:

1. &&如果左边为假,结果注定为假,右边不参与运算

                 2.&如果左边为假,结构注定为假,但是右边会参与运算

    |和||的区别:

      1.如果左边为真,结果注定为真,右边不参与运算

                        2.如果左边为真,结果注定为真,右边参与运算

 

5.位运算符

    &(与):真真得真,真假得假,假假得假

    |(或):真假为真,真真为真,假假为假

    ^(异或):任何一个数与一个指定的数异或两次,其结果等于本身,(第一个数异或第二个数 其结果再异或第二个.其结果等于它本身)(不同为1,相同为0)

    移位运算符:

      <<左移,砍掉高位,低位补0 一定要把它更改成32位。(左移N位相当于乘以2的N次方)

                        >>右移,砍掉低位,高位要看最高位的符号。符号位为1,就补1,符号位为0就补0(右移N位,相当于除以2的N次方)

6.switch

switch中的参数是必须是int类型的,但是byte,short,char都是隐式的自动类型提升啦~

break :结束循环

continue:提前结束本次循环,进入到下一次循环

 

 

小算法复习:
 /*
     不用第三方变量交换两个数的值
 
     异或:第一个数异或第二个数,之后再把结果异或第二个数。其结果等于它本身!
 
     1.<<最高位砍掉,最低位补零
     (左移多少位,其实就是*2的N次方)
     2.>>最低位砍掉.如果最高位是1,前面就是补1,否则补0
     //(又移多少位,就是/2的N次方)
 */
 
 class Demo 
 {
     public static void main(String[] args) 
     {
         int a = 3;
         int b = 5;
 
         a = a ^ b;
         b = a ^ b;
         a = a ^ b ;
         System.out.println("a == "+a);
         System.out.println("b =="+b);
 
     }
 }
 /*某个培训中心要为新到的学员安排房间,假设共有x个学员,
 每个房间可以住6人,让你用一个公式来计算他们要住的房间数
 */
 
 
 class  Demo
 {
     public static void main(String[] args) 
     {
         int num = 48;
         int homeNuber = getHomeNumber(num);
         System.out.println("学生的个数为:"+homeNuber);
     }
     static int getHomeNumber(int num)  //形式参数的初始化其实就是传递进来的参数帮他初始化啦~
     {
         return (num+5)/6;  //给一个最大的限度!
     }
 }
 
 /*
     利用无限循环实现0 - 9 之间的数之间的重复循环
 */
 
 class Demo 
 {
     public static void main(String[] args) 
     {
         int x = 0;
         while(true)
         {
 
             x = (x+1)%10;
             System.out.println(x);
         }
     }
 }
 
 /*
     利用小技巧把10进制转换成2进制代码!
 */
 import java.io.*;
 class Demo 
 {
     public static void main(String[] args) throws Exception
     {
         //读取键盘
         BufferedReader br = 
                 new BufferedReader(new InputStreamReader(System.in));
         System.out.println("本程序可以帮助您把十进制代码转换成二进制代码:");
         String line = br.readLine();
         int num = Integer.parseInt(line);
         StringBuffer sb = new StringBuffer();
         while(num>0)
         {
             int temp = num % 2; //获取到除以2的余数!
             sb.append(temp);
             num = num / 2; 
         }
             sb.reverse();
             System.out.println(sb);
     }
 }
 
 
 /*
     十进制转换成十六进制之方法一。
 */
 import java.io.*;
 class  Demo5
 {
     public static void main(String[] args) throws Exception
     {
         BufferedReader br = 
                             new BufferedReader(new InputStreamReader(System.in));
 
         System.out.println("本程序可以通过十进制转换成十六进制:");
         
         String line = br.readLine();
         int num = Integer.parseInt(line);
 
         StringBuffer sb = new StringBuffer();
         while(num>0)
         {
             int temp = num % 16;
             if(temp>9)
             {
                 sb.append((char)(temp-10+'A'));
             }else
             {
                 sb.append(temp);
             }
             num = num / 16;
         }
         sb.reverse();
         System.out.println(sb);
     }
 }
 
 
 /*
 用移位的方法来求一个数
 
 十进制转换成十六进制
 */
 import java.io.*;
 class Demo 
 {
     public static void main(String[] args) throws Exception
     {
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
         System.out.println("本程序可以帮助您从十进制转换到十六进制:");
         String line = br.readLine();
         int num = Integer.parseInt(line);
         Ten2Hex(num);
     }
 
     static void Ten2Hex(int num)
     {
         StringBuffer sb = new StringBuffer();
         int count = 0x00000000f;
         for(int i = 0;i<8;i++)
         {
             int temp = num & count;  
             if(temp>9)
             {
                 sb.append((char)((temp-10)+'A'));  //类型要注意
             }
             else
             {
                 sb.append(temp);
             }
             num = num >>4;
             
         }
         sb.reverse();
         System.out.println("结果为:"+sb);
     }
 }
 
 /*
     打印金字塔程序!
     求算法的时候要注意:
     找到求第一个的规律.
     然后循环就可以。
 */
 
 
 class Demo 
 {
     public static void main(String[] args) 
     {
         int n = 4;
         for(int i = 0;i<n;i++)
         {
             for(int j = 0;j<n-i;j++)
             {
                     System.out.print(" ");
             }
             for(int k =0;k<i*2-1;k++)
             {
                     System.out.print("*");
             }
             System.out.println();
         }
     }
 }
 
 
 总结:
     其实switch的参数必须是int类型的,为什么byte char short参数可以传递进来呢?
 因为它的类型自动提升为int类型啦。也就是隐式的进行了强制转换/所以是可以的.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值