其他分享
首页 > 其他分享> > 2022-07-13 第一小组 张晟源

2022-07-13 第一小组 张晟源

作者:互联网

JAVA

java:半解释半编译

  解释:浏览器可以直接运行JS,不需要编译

  编译:java,scala,hello

  java市程序员写的,以10进制java文件写的,计算机只认识二进制。

 

java历史:sun公司发明了java

java:C和C++

计算机:软件加硬件

内存:物理内存,虚拟内存

 

操作系统:

 

存储单位:

  二进制的加减法计算:

 

 

Java三个版本:

Java特点:

 

Java环境搭建

 

JAVA常用指令:

 

 创建一个java文件

public class Hello{
    public static void main(String[] args) {
        System.out.println( "Hello" );

    }
} 

通过cmd指令找到java文件,需要编译,使用javac hello.java,生成了一个hello.class,是计算机去解释执行的文件,说明hello.class是一个二进制文件,hello.class叫字节码文件

执行hello.java,java  hello

 

类:Java开发中最小的单位

命名规则(标识符):字母数字下划线$,其中不能以数字开头,关键字不能命名

关键字:官方的解释,有独一无二的作用,都是小写的,50个左右,2个保留字

 

java注释:

 

   三种注释都可以调试代码

 

主方法(main):是程序的入口

 

Java数据类型:

   基本数据类型:

    整型:

      byte:字节型 -128~127 一个字节=8位

      short:短整型  -2^15~2^15-1  二个字节=16位

      int:-2^31~2^31-1 四个字节=32位

      long:长整型-2^63~2^63-1  八个字节=64位(使用长整型需要在值得后面加L或l)

    浮点型

      float:单精度浮点型  四个字节=32位  (使用长整型需要在值得后面加F或f)

      double:双精度浮点型 八个字节=64位

    字符型

      char:字符型  二个字节=16位 0~255(字符型需要加单引号,引号中只能放一个)

    布尔型

      boolean,true,false 一个字节=8位

 

变量的命名:字母数字下划线$,其中不能以数字开头,关键字不能命名

 

小数默认double,整数默认int

 

精度:

整形:4种整型,精度和位数挂钩,位数越大,精度越高

浮点型:double精度比float要高

低精度与高精度运算,得到的是高精度

 

基本类型转换:

1.自动类型转换:低精度->高精度

2.强制类型转换:高精度->低精度

 

复制运算符:

 

比较运算符:

 

逻辑运算符:

与 :&&   &  只有所有条件都为true,整体才为true,否则为false,一假则假,短路效应

  a&1   = 0 偶数
  a&1 =   1 奇数

 或 :一真则真,短路效应

 非  :取反  ~

异或:^

  void swap(int x , int y)

  {

    x ^= y;

    y ^= x;

    x ^= y;

   }

>>   <<    >>>(无符号右移)

位运算运用:

int abs( int x )
  {
      int y ;
      y = x >> 31 ;
       return (x^y)-y ;        //or: (x+y)^y
  }

  

           a % (2^n) 等价于 a & (2^n - 1)

 

           a * (2^n) 等价于 a<< n

           a / (2^n) 等价于 a>> n
          例: 12/8 == 12>>3

         a % 4 等价于 a & 2  ( a  & log2(4))  

        .....       
         a % 32 等价于 a & 5

 

      else x= a;
   等价于 x= a ^ b ^ x;

  int AbsInt(int n)
  {
  int i = n >> 31; // if n >= 0, i = 0; else i = 0xffffffff = -1
  n = n ^ i; // if i = 0, n = n; else i = 0xffffffff, n = ~n
  return n - i; // if i = 0, n - i = n; else i = -1, n - i = n + 1
  }
  float AbsFloat(float flt)
  {
  *(size_t*)&flt = (*(size_t*)&flt & 0x7fffffff);
    return flt;
  }

  double AbsDouble(double dbl)
  {
  *((size_t*)&dbl + 1) = (*((size_t*)&dbl + 1) & 0x7fffffff);
    return dbl;
  }

  

 

三目运算符:a>b?1:2

 

char的特殊性:

映射表ASCII码,每一个字符在计算机都是以ASCII码保存

char是16位,可以自动转成int,long,float,double

 

标签:13,java,07,int,double,张晟源,Java,hello,字节
来源: https://www.cnblogs.com/shenmimao/p/16472782.html