• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
acmer4302
博客园    首页    新随笔    联系   管理    订阅  订阅
Java基础

Java基础


image-20201207215054000

建个空项目 之后需要做的事情

注释

  • 单行注释

    • //
  • 多行注释

    • /**/
  • 文档注释

    • /** */

    • /**
       * @Description HelloWorld
       * @Author 狂神说JAVA
       */
      
  • 彩蛋

    • Baidu有趣的代码注释

标识符

Java所有的组成部分都需要名字。类名,变量名以及方法名都被称为标识符

  • 关键字|高亮部分

    image-20201207192406907

  • 注意点

    • 所有标识符都应该以字母,美元符,或者下划线开始
    • 首字符之后可以是字母,美元符,下划线或数字的任何字符组合
    • 不能使用关键字作为变量名或者方法名
    • 标识符大小写敏感
    • 不建议使用中文或者中文拼音

数据类型

  • 强类型语言

    • 要求变量的使用严格符合规定,所有变量都必须先定义后使用|对标Python
  • 弱类型语言

    • “12”+3=“123”
  • Java的数据类型分为

    • 基本类型

    • 引用类型

      image-20201207193818507

      基本数据类型
      //整型
      long num3=30L;
      //浮点型:
      float num4=50.1f;
      double num5=3.14159263589793238462643;
      //字符
      char name='国'
      //字符串 String不是关键字 是类
      //String namea= "秦江"
      //布尔值:是非
      boolean flag=true;
      引用数据类型
      //类 接口 数组
          
      public class Demo01 {
          public static void main(String[] args) {
              int i=10;
              int i2=010;//八进制0
              int i3=0x10;//十六进制 0x 0-9 A-F 16
              System.out.println(i);
              System.out.println(i2);
              System.out.println(i3);
              /*float 有限 离散 存在舍入误差问题 接近但不等于
                double
                最好不要使用浮点数进行比较
                使用BigDecimal 数学工具类
               */
              float f=0.1f;
              double d=1.0/10;
              System.out.println(f==d);//false
              float d1=323232323232332f;
              float d2=d1+1;
              System.out.println(d1==d2);//true
              /*
              * 字符拓展
              * 所有的字符本质还是数字
              * 编码 Unicode 2字节 0-65536  2 16 =65536
              * U0000-UFFFF
              * 转义字符 \t 制表符
              *
              * */
              char c1='a';
              char c2='中';
              System.out.println(c1);
              System.out.println((int)c1);
              //U0000-UFFFF
              char c3='\u0061';
              System.out.println(c3);//a
      
              //---------------------
              //从内存角度分析
              String sa=new String("hello");
              String sb=new String("hello");
              System.out.println(sa==sb);//false
              String sc="hello";
              String sd="hello";
              System.out.println(sc==sd);//true
              //布尔值扩展
              boolean flag=true;
              if(flag==true){}//新手
              if(flag){}//老手
          }
      }
      

什么是字节

  • 位(bit):是计算机 内部数据 储存的最小单位,11001100是一个八位二进制数
  • 字节(byte):是计算机中 数据处理 的基本单位,习惯上用大写B来表示
  • 1B(byte,字节)=8bit(位)
  • 字符:是指计算机中使用的字母,数字,字和符号
  • 1bit : 1位
  • 1Byte:1B=8b
  • 1KB=1024B
  • 1TB=1024G
  • 思考:电脑的32位和64位的区别是什么呢
    • 32位电脑只能装32位的cpu和系统
    • 寻址能力 32位只支持4G内存 64位支持128G内存

类型转换

  • 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

    • 低-------------------------------------------------------------->高
    • ​ byte,short,char->int->long->float->double
  • 运算中,不同类型的数据先转化为同一类型,然后进行运算

  • 强制类型转换 (类型)变量名 高->低

  • 自动类型转换 低->高

  • 注意点:

    1. 不能对布尔值进行转换

    2. 不能把对象类型转换到不相干的类型

    3. 在把高容量转换到低容量的时候,强制转换

    4. 转换的时候可能存在内存溢出,或者精度问题

      int i=128;
      byte b =(byte)i;//-127   byte范围:-127-128
      (int)23.7;//23
      (int)-45.89f;//-45
      
      //操作比较大的数的时候,注意溢出问题
      //JDK7新特性  数字之间可以用下划线
      //只用大写L
      public static void main(String[] args) {
          int money = 10_0000_0000;
          int year = 20;
          long total3 = money * ((long) year);
          System.out.println(total3);
      }
      

变量

不提倡一行定义多个变量_为了程序可读性

  • 变量命名

    • 所有变量,方法,类名
      • 见名知意
    • 类成员变量
      • 首字母小写和其后首字母大写 monthSalary
    • 局部变量
      • 首字母小写和其后首字母大写
    • 常量
      • 大写字母和下划线 MAX_VALUE
    • 类名
      • 首字母大写和其后首字母大写
    • 方法名
      • 首字母小写和其后首字母大写 runRun()
  • 变量作用域

    • 局部变量:

      • 必须声明和初始化值
    • 成员变量

      • 实例变量:
        • 从属于对象
        • 如果不自行初始化,其值为这个类型的默认值 0 0.0 u0000
        • 布尔值:默认为false
        • 除了基本类型,其余默认值为null
      • 类变量:static
      	//各种类变量暂时全用static修饰
      	static double salary =2500;
      

常量

定义:初始化后不能改变其值

final double pi =3.14;
//补:final  static 修饰符位置不敏感
static final double pi = 3.14;
final static double pi = 3.14;

运算符

  • instanceof 待补充s

快捷键 ctrl +D:复制当前行到下一行

cast:转换

  • 很多运算 我们会使用一些工具类来操作

    double pow=Math.pow(3,2);
    System.out.println(pow);
    
  • 位运算

    • &与
    • |或
    • ^异或 不同为1
    • ~ 非
    • 无符号右移运算符 它使用0扩展,无论正负都在最高位补0
    • 左移 *2
    • 右移 /2
  • 三元运算符

    • x?y:z 如果x true 则为y 否则为z

    • String type = score <60?"不及格":"及格";//必须掌握
      
  • 优先级

    • 不需要刻意去记 多加括号就好了

包机制

用于区别类名的命名空间

  • 为了更好组织类 有效解决同名但不冲突

  • 一般利用公司域名倒置作为包名

  • 使用某一个包的成员,需要导入该包 import


推荐查看 《阿里巴巴开发手册》

posted on 2020-12-07 21:39  wjs_ouc  阅读(70)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3