2.2

java两种运行机制

编译型 和解释型

两种区别:时机的不同()

编译型:负责翻译的程序

解释型:靠第三者的解释

 

 

java 先编译 再解释 (都有)

.java——》.class (编译)

 

IDEA使用

psvm 等同于

 

 

sout等同于

 

 

 

Java的基础语法

注释

书写注释是一个非常好的习惯 便于自己和别人理解

平时写代码一定要注意规范

单行注释 //

多行注释 /* */

文档注释(JavaDoc) /** */

标识符

 

 

数据类型

JAVA是强类型语言 要求变量使用严格符合规定,所有变量都必须定义后使用

Java的数据类型分为两大类:基本类型(重点) 和 引用类型

 

 

引用类型:类(String) 接口 数组

整数拓展 进制问题 二进制 0b 十进制 八进制0 十六进制0x

 

 

浮点数拓展 float double 之间是有限离散的 舍入误差 约等于并不是等于 

 

 

 

 

结论:最好完全避免使用浮点数进行比较,因为会存在误差

 

 

 

 

类型转换

运算中,不同类型的数据先转换位同一类型,然后进行计算

 

 

 int i=128;
byte b=(byte)i;//内存溢出
       //强制类型转换 (类型)变量名 从高-》低
System.out.println(i);//128
System.out.println(b);//-128
int a=128;
double b=a;//自动转换     从低-》高

System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//-45

int money=10_0000_0000;
int years=20;
int total=money*years;
System.out.println(total);//-1474836480 溢出了
/*
注意点:1、不能对布尔转换
      2、不能把对象类型转换为不相干类型
      3、高容量转换低容量 要进行强制转换
      4、转换的时候可能存在内存溢出的问题,或者精度问题
      5、操作比较大的数的时候,注意溢出问题
*/

 

变量、常量

变量是指可以变换的量

java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域

作用域: 类变量 static

实例变量 无static

局部变量

public class Variable{
   static int allClicks=0;//类变量
   String a="hello world";//实列变量 从属于对象 如果不进行初始化 则为默认值 int 为 0 布尔值为false 除了基本类型 其余的都是null
   public void method()
  {
       int i =0;// 局部变量
  }
}

常量

final 变量名=值; 

变量命名规范

 

 

运算符号

   long a =12121313131313L;
       int b=123;
       short c=18;
       byte d=8;
       System.out.println(a+b+c+d);//long 类型
       System.out.println(b+c+d);//int 类型
       System.out.println(c+d);//int 类型
/*
有long类型的存在,结果为long 其余皆为int类型
如果有double 结果一定为double
*/
  //短路运算
       int c=5;
       boolean flag=(c<4)&&(c++<10);//因为前面c<4已经是false了 后面的结果并不进行判断了 所以c++也不执行
       System.out.println(flag);//flag
       System.out.println(c);//5
//位运算
/*
       * A=0011 1100
       * B=0000 1101
       * A&B A与B上下比较 相同得1 否则为0 =0000 1100
       * A|B               有1为1 全0 为0 =0011 1101
       * A^B (取反)     对应位相同为零 否则为1 =0011 0001
       * ~B =1111 0010
       * ··················
         效率极高
       * 2*8=16 2*2*2*2(面试题)
       * << 左移 *2
       * >> 右移 /2
       *
       * */
       System.out.println((2<<3));
        int a =10;
       int b =20;
       System.out.println(a+b);
       System.out.println(""+a+b);//1020
       System.out.println(a+b+"");//30  
       //"" 在前面是进行拼接 在后面 则是运算

 

 

包机制、JavaDoc

包机制 为了区别类名的命名空间

包的命名规范 一般利用公司域名倒置作为包名

 

用户交互Scanner

 Scanner s=new Scanner(System.in);
       System.out.println("使用next方式接收");
       if(s.hasNext())
      {
           String a=s.next();
           System.out.println("输出的内容为"+a);
      }
       s.close();

方法重载

 

 

可变参数

 

 

 
posted @ 2023-02-02 13:06  Madao_super  阅读(162)  评论(0)    收藏  举报