• java小细节问题


    float s = 1.2;  //ERROR: Java中,带小数点的数都是double类型

    System.out.println( s2>>2 );  //ERROR: 位运算只能用于整型数---byte,short,int,long

    a +=10; //等价于:a = a+10 ----注意1:"+"号和"="号之间不能有空白字符

    public class HelloWorld{//类的名称中间不允许空格

    //子类的覆盖方法: 前不能小(权限),后不能大(异常--包括个数和类型的兼容性)。

     //可以通过对象去访问静态方法,但不建议使用。因为静态的东西通过类模板访问更直接

    //完整类名 = 包名[.子包名].类名

    //浅拷贝----引用赋值必捆绑

    //深拷贝---把“引用赋值” 转换成 基本数据类型变量赋值

    ----------------------------------------

    System.out.println("------笔试题--------");
    int b=10;
    b += b -= b *= b;
    System.out.println("b="+b);

    -----------------------------------------

    private static void demo4(){
    int a=100,b=287783,c=-235;
    int max = a>b ? a : b ;
    max = max<c ? c : max;
    System.out.println("max="+ max);

    }

    ---------------------------------------------

    下面方法挂的原因:
    switch与case中的表达式的值必须能够匹配即:
    至少类型要一致(且类型必须是整型(long除外)、char型中的一种,jdk7之后又增加了String型)
    ---本方法中 score为int型,而case中的表达式常量全是boolean型,无法匹配
    */
    /*
    public static void switchDemo2(){
    int score=85;
    if(score>100 || score<0 ){
    System.out.println("Score is error!");
    }
    switch( score ){
    case score>=90:
    System.out.println("A");break;
    case score>=80:
    System.out.println("B");break;
    case score>=70:
    System.out.println("C");break;
    case score>=60:
    System.out.println("D");break;

    default:
    System.out.println("E");
    }
    }
    */

    -----------------------------------------

    //一个源程序当中,public的类最多只能有一个。如果有public的类,那么该类
    //的名字必须与文件名相同(包括大小写)----Java中类的名字必须符合变量的命名规则

    public class H11{
    public static void main(String args[]){
    System.out.println("11111");
    }
    }
    public class H22{
    public static void main(String args[]){
    System.out.println("22222");
    }
    }
    class H33{
    public static void main(String args[]){
    System.out.println("33333");
    }
    }

    --------------------------------------------

    /Java规范:凡是表示范围的,都左包含,右不包含。
    //0-99
    //a[i] =(int)(Math.random()*100) ; //random() [0,1)之间的随机小数

    -------------------------------------------

    public class TypeDemo{
    public static void main(String args[]){
    //char ch='a';//OK
    //char ch="a";//ERROR: 双引号括的是字符串,单引号是字符
    //char ch=97; //OK
    //char ch; ch=97; //OK
    char ch=97;
    //ch = ch+1;//ERROR:丢失精度,两个数进行运算,结果向高精度靠齐
    System.out.println(ch);

    //char ch2='ab';//ERROR:char型数据中只含一个字符
    char ch2=' ';//OK:因为这是转义字符 ---转义字符在Java中是被看成是一个字符的(前面的斜杠不算的)
    //char ch2 = 'a';//ERROR:虽然是以斜杠开头,但不是转义字符
    System.out.println(ch2);

    float f = (float)1.2;//float f = 1.2f;

    //byte b = 129; //ERROR: byte取值范围:[-128,127]
    byte b = 1;
    //b = b*2;//ERROR: 精度丢失,因为"b*2"的运算结果是int型
    //b = b-1; //ERROR: 原理同上
    System.out.println(b);

    //int s = 12 + 0.0; //ERROR: 和0.0相加的结果自动转换成double型
    //System.out.println(s);

    //boolean flag = 1;//Java中的布尔变量值只有:true和false,没有0和1的概念
    //System.out.println(flag);
    /* 同理,下面用1代替true,都是错的
    while(1){
    if(1)//if(a<b && i>3)
    break;
    }
    */

    char ch3='a';
    if(ch3==97){//OK: 自动会转换成高精度的值进行比较
    System.out.println("aaaa");
    }

    System.out.println( ch3|2 ); //char型数据可以当整数运算

    }
    }

    -------------------------------------------

    下面这种方式是不行的,因为它的赋值不在声明语句中
    //int a[]; a = {23,4,-1,5,6,67,6};

    //法4-----这种方式可以,但要以后才会用到
    //int a[] = new int[]{23,4,-1,5,6,67,6};

    ------------------------------------------

    public class TypeDemo{
    public static void main(String args[]){
    //char ch='a';//OK
    //char ch="a";//ERROR: 双引号括的是字符串,单引号是字符
    //char ch=97; //OK
    //char ch; ch=97; //OK
    char ch=97;
    //ch = ch+1;//ERROR:丢失精度,两个数进行运算,结果向高精度靠齐
    System.out.println(ch);

    //char ch2='ab';//ERROR:char型数据中只含一个字符
    char ch2=' ';//OK:因为这是转义字符 ---转义字符在Java中是被看成是一个字符的(前面的斜杠不算的)
    //char ch2 = 'a';//ERROR:虽然是以斜杠开头,但不是转义字符
    System.out.println(ch2);

    float f = (float)1.2;//float f = 1.2f;

    //byte b = 129; //ERROR: byte取值范围:[-128,127]
    byte b = 1;
    //b = b*2;//ERROR: 精度丢失,因为"b*2"的运算结果是int型
    //b = b-1; //ERROR: 原理同上
    System.out.println(b);

    //int s = 12 + 0.0; //ERROR: 和0.0相加的结果自动转换成double型
    //System.out.println(s);

    //boolean flag = 1;//Java中的布尔变量值只有:true和false,没有0和1的概念
    //System.out.println(flag);
    /* 同理,下面用1代替true,都是错的
    while(1){
    if(1)//if(a<b && i>3)
    break;
    }
    */

    char ch3='a';
    if(ch3==97){//OK: 自动会转换成高精度的值进行比较
    System.out.println("aaaa");
    }

    System.out.println( ch3|2 ); //char型数据可以当整数运算

    }
    }

    ----------------------------------------------------------------------------------------------

  • 相关阅读:
    csrf
    cookies和session区别
    关于Processing开发应用及发布分享的一些经验分享
    C++调用动态链接库DLL的隐式链接和显式链接基本方法小结
    C++最基本调用静态库的方法小结
    C++最基本调用动态链接库dll方法的小结
    基于Potplayer类播放器或Action!类录屏软件调取摄像头方式的定时抓拍保存图像方法小结
    基于Openframeworks调取摄像头方式的定时抓拍保存图像方法小结
    DOS使用技巧整理 [典型案例分享]
    正则表达式使用技巧整理
  • 原文地址:https://www.cnblogs.com/1314wamm/p/5601170.html
Copyright © 2020-2023  润新知