ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-07-13 22:03:12  阅读:110  来源: 互联网

标签:13 java 07 int double 张晟源 Java hello 字节


JAVA

java:半解释半编译

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

  编译:java,scala,hello

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

 

java历史:sun公司发明了java

java:C和C++

计算机:软件加硬件

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

 

操作系统:

  • 打开指令操作台,win+r,输入cmd
  • 输入盘符,进入E盘     e:
  • 回到上一层:   cd..
  • 进入指定目录:    cd   a
  • dir指令查看当前目录下文件夹信息: dir
  • 创建一个空文件: copy nul  a.txt
  • 向文件内写入内容: echo 1234>a.txt
  • 复制文件: copy a.txt  b.txt
  • 删除文件:del a.txt 不走回收站

 

存储单位:

  • 一个bit=一位
  • 1byte=8bit
  • 1kb=1024b
  • 1mb=1024k
  • 1gb=1024m
  • 1tb=1024g
  • 1pb=1024b

  二进制的加减法计算:

  • 10010011
  • 10101001
  • 对应相加
  • 100111100

 

  • 00000001
  • 10000001
  • 用补码计算

 

Java三个版本:

  • JavaSE:桌面应用程序
  • JavaEE:企业级应用,主要学习
  • JavaME:手机端

Java特点:

  • 面向对象
  • 跨平台:操作系统,Java写的软件可以在任意操作系统运行
  • 解释执行,计算机执行的.class,解释执行.class
  • 多线程,多个任务同时进行
  • 分布式
  • 健壮性:强数据类型的语言,异常处理,垃圾回收机制
  • 安全性:插件设置一个去防范机制

 

Java环境搭建

  • JAVA_HOME:jdk路径(C:\P\java\jdk-11.0.15)
  • 找到原来的Path,把bin目录复制进去(或%JAVA_HOME \ bin%)

 

JAVA常用指令:

  • java
  • javac
  • javap
  • java -version
  • java -jar

 

 创建一个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.强制类型转换:高精度->低精度

 

复制运算符:

  • +
  • =
  • -=
  • *=
  • /= 
  • %=
  • a+=1  ->  a=a+1

 

比较运算符:

  • <
  • >
  • >=
  • <=
  • ==
  • !=

 

逻辑运算符:

与 :&&   &  只有所有条件都为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 % 2 等价于 a & 1  ( a  & log2(2))      

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

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

 

  •  if (x == a) x= b;

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

  • x 的 相反数 表示为 (~x+1)
  • 绝对值
  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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有