zoukankan      html  css  js  c++  java
  • 04java基础知识

    变量

    • 类变量

    • 实例变量

    • 局部变量

       public class Demo{
           //类变量 static
           static double money=3000//3000默认类型是int,double的优先级高,直自动转换
           //类变量从属于Demo类,会随着Demo类存在和消失
           //============================================================================
           //实例变量,在方法的外面,在类(Demo)的里面,从属于对象(类Demo),通过这个类(Demo)才能使用实例变量,级别较高
           String name;
           int age;//实例变量可以不用初始化,可直接使用
           //实例变量如果不进行初始化,变量储存这个类型的默认值
           //所有的数值类型的默认值都是0(整数),0.0(小数),布尔值默认值是false,除了基本类型,其余数据类型的默认值都是null(String类型的默认值就是       //(null)    
           //============================================================================
           //main方法,局部变量
           public static void main(String[] args){
               //方法里面的变量是局部变量,作用域只有这个(main)方法,使用之前必须声明和初始化值
               int i=10;//此处必须赋初值,否则下面就不能输出
               System.out.println(i);
               //变量类型 变量名=new Demo()
               Demo  demo=new Demo();//使用类里面的实例变量,首先要把它的类拿过来,就是new一下,定义一个Demo类型的变量demo
               System.out.println(demo.age);
               
               //类变量
               System.out.println(money);//类变量可以直接输出
          }
       }

      常量

     public class Demo1{
         //static和final都是修饰符。修饰符不存在先后顺序
         static final double PI=3.14159;//加了static就变成了类常量,可直接在方法里面使用
         //final static double PI=3.14159;
         public static void main(String[] args){
             System.out.ptintln(PI);
        }
     }

    变量的命名规范

    • 所有变量、方法和类名要做到“见名知意”

    • 类成员变量:首字母小写和驼峰原则:除了第一个单词以外,后面单词的首字母大写,eg:monthSalary

    • 局部变量:首字母小写和驼峰原则

    • 常量:所有字母大写,多个单词使用下划线隔开,eg:MAX_VALUE

    • 类名:首字母大写和驼峰原则,eg:Man,IronMan

    • 方法名:首字母小写和驼峰原则,eg:run(),runRun();

    •  

     

    运算符

     

    IDEA快捷键:Ctrl+D复制上一行到下一行

    算术运算符:

    • 注意算术运算过程中,由于数据类型运算产生的运算错误

     public class Demo{
         public static void main(String[] args){
             int a=10;
             int b=20;
             System.out.println(a/b);//这里输出的结果是0,因为10/20=0.5,int类型运算之后还是int类型,所以直接就把0.5的小数位舍去了。
             System.out.println(a/(double)b);//只用把其中一个运算项强制转换成浮点型即可。
        }
     }
     
    • 程序实例

     public class Demo{
         public static void main(String[] args){
             long a=10;
             int b=10;
             short c=10;
             byte d=1;
             System.out.println(a+b+c+d);//注意:基本运算中有一个数据类型是long,那么运算结果就是long类型
             System.out.println(b+c+d);//如果没有long类型的那么操作结果就是int类型
             System.out.println(c+d);
        }
     }
    • 总结以上现象就是,基本运算中如果有一个是高优先级的数据类型,那么运算结果就是这个高优先级的数据类型,总之就是以最高的优先级为准


     

    关系运算符

     public class Demo{
         public static void main(String[] args){
            //关系运算符返回的结果只有:正确true,错误false,所以要用布尔值表示
             int a=10;
             int b=20;
             int c=15;
             System.out.println(a>b);//输出结果是:true
             System.out.println(a<b);//false
             System.out.println(a==b);//false
             System.out.println(a!=b);//true
             System.out.println(c%a);//取余%,也叫模运算, 15/10=1....5,所以输出结果就是5
        }
     }

    自增++、自减--

    ++,--是一元运算符,只用一个变量即可操作

     public class Demo{
         public static void main(String[] args){
             int a=1;
             int b=a++;//++在变量后面,就是先执行赋值(=)运算,然后再执行自加运算
             System.out.println(a);//所以此时输出的,b的值是1,a的值是2
             int c=++a;//++在变量前面,就是先执行自加运算,然后再执行赋值(=)运算
             System.out.println(a);//此时输出的a的值是3
             System.out.println(b);//此时输出的b的值是1
             System.out.println(c);//此时输出的a的值是3
             //同样,--操作同理
             //在java中没有幂运算符,而是使用专门的Math类完成数学计算
             double pow=Math.pow(2,3);//使用Math类里面的pow函数进行次方的计算
             System.out.println(pow);
        }
     }

    逻辑运算符

     public class Demo{
         public static void main(String[] args){
             //与或非
             boolean a=true;
             boolean b=false;
             System.out.println("a&&b:"+(a&&b));//双引号里面的内容是直接输出,使用加号+表示和后面的内容连在一起,(a&&b)运算要使用括号,不然会报错
             System.out.println("a||b:"+(a||b));
             System.out.println("!(a&&b):"+!(a&&b));//逻辑非就是把逻辑与取反
             //短路现象
             /*
             我们知道a&&b的结果肯定是false,但是b&&a的结果是多少?
             当程序在执行b&&a的时候,因为b=false,那么不管后面是真是假,逻辑与的结果肯定是假,所以程序直接就不在执行后面的语句,直接输出false,如下:
             */
             System.out.println("a&&b:"+(a&&b));
        }
     }

    位运算

     public class Demo{
         public static void main(String[] args){
             /*位运算:按位与、或、非
             A=0011 0110
             B=1010 0011
             A&B=0010 0010
             A|B=1011 0111
             A^B=1001 0101//异或:相同为零,不同为一
             ~B=0101 1100
             右移>>   左移<<
             //计算2*8=16=2*2*2*2
             0000 0000     0
             0000 0001     1
             0000 0010     2
             0000 0011     3
             0000 0100     4
             0000 1000     8
             0001 0000     16
             观察发现,二进制数最低位的1每向左移一位,十进制数就增大二倍
             那么,左移<< *2.右移>> /2
             */
        }
     }

    扩展赋值运算符

     public class Demo{
         public static void main(String[] args){
            int a=1;
            int b=2;
            a+=b;//a=a+b;
            a-=b;//a=a-b;
            //字符串连接符   +
            System.out.prnitln(""+a+b);
            //此时的输出结果是1020,因为java的规则中,加号运算符任何一端出现了字符串类型(String),输出结果会自动转换成字符串类型并连接在一起
            System.out.println(a+b+"");
            //此时输出的是30,why?这跟上面的不冲突,涉及到运算先后顺序问题,这里是String类型字符串在后面,实际上先进行a+b运算,然后再跟""进行拼接
        }
     }

    三元运算符

     public class Demo{
         public static void main(String[] args){
             //x ? y : z
             //如果x==true,返回结果是y,如果x==false,返回结果是z
             int score=95;
             String type=score>60? "pass" : "reject"
             System.out.println(type);//输出结果:pass
        }
     }

    如何在一个project中建立多个package

     

     

    自学java,请多多指教!
  • 相关阅读:
    达叔系列——神经网络编程基础
    win10安装pytorch——前面有坑,快跳进去鸭
    Python基础(六)——面向对象编程
    Python基础(五)——闭包与lambda的结合
    Python基础(四)——迭代器/对象,生成器
    Mysql优化(出自官方文档)
    Mysql优化(出自官方文档)
    Scala语言笔记
    Scala语言笔记
    Scala语言笔记
  • 原文地址:https://www.cnblogs.com/fanfada/p/13702192.html
Copyright © 2011-2022 走看看