Java学习第四天 注释,标识符和关键字,数据类型及扩展面试题,类型转换

注释

  1. 创建新项目,建立空项目,取名JavaSE,finish

  2. file-new 模块,建立Java项目,取名基础语法

  3. file-project structure或按钮 点project,选择自己Java版本,等级设置为8,Apply,OK

  4. 出现scr,右键new class,取名HelloWorld

  5. psvm,sout("Hello,World!"),跑一下

  6. 单行注释 //输出一个Hello,World!

  7. 多行注释/* 内

    容*/

  8. 文档注释/**回车

  9. 更改注释颜色 file-edtior-color scheme-Java-comments

     

  10. 百度搜有趣的注释

 

标识符和关键字

public class Demo01 {
  public static void main(String[] args) {
      //标识符开头以字母A-Z或a-z,$,_开始,首字符后随意,不能用关键词作变量名
      String Hello="zhengtu";
      String hello="zhengtu";
      String $hello="zhengtu";
      String _hello="zhengtu";
      /*错误用法
      String 1hello="zhengtu";
      String #hello="zhengtu";
      String *hello="zhengtu";
      String -hello="zhengtu";
      String class="zhengtu";*/
      //标识符大小写敏感,大小写定义含义不同
      String MAN="zhengtu";
      String man="zhengtu";
      //可用中文命名,但不规范
      String 王者荣耀="百星王者";
      System.out.println("王者荣耀");
  }
}

 

数据类型

所有变量必须先定义后才能使用

public class Demo02 {
  public static void main(String[] args) {
      String a="hello";
      //八大基本数据类型
      //整数
      int num=10;//最常用,4字节
      byte num2=20;//1字节
      short num3=30;//2字节
      long num4=30L;//注意数字后加L,8字节
      //小数,浮点数
      float num5=50.1F;//注意加F,4字节
      double num6=3.14159265358979;//8字节
      //字符
      char name='A';//2字节
      //字符串,String不是关键字,类
      String namea="征途";
      //布尔值
      boolean flag=true;//占1位
      boolean flat=false;
      System.out.println(a);
      System.out.println(num);
  }
}

 

数据类型扩展及面试题

public class Demo03 {
  public static void main(String[] args) {
      //整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x
      int i=10;
      int i2=010;//八进制0
      int i3=0x10;//十六进制0x

      System.out.println(i);
      System.out.println(i2);
      System.out.println(i3);
      System.out.println("=====================================================");
      //=====================================================
      //浮点数拓展
      //BigDecimal 数学工具类(银行业务)
      //=====================================================
      //float 有限 离散 舍入误差 接近但不等于
      //double
      //最好完全避免使用浮点数进行比较
      //最好完全避免使用浮点数进行比较
      //最好完全避免使用浮点数进行比较
      float f=0.1f;//0.1
      double d=1.0/10;//0.1
      System.out.println(f==d);//false
      float d1=12331213211131321f;
      float d2=d1+1;
      System.out.println(d1==d2);//true
      //=====================================================
      //字符拓展
      //=====================================================
      System.out.println("=====================================================");
      char c1='a';
      char c2='中';
      //所有字符本质还是数字
      System.out.println(c1);
      System.out.println((int)c1);
      System.out.println(c2);
      System.out.println((int)c2);
      //Unicode表:(97=a 65=A) 占了2字节 长度0-65536
      //U0000-UFFFF
      char c3='\u0061';
      System.out.println(c3);//a
      //转义字符
      //\t 制表符
      //\n 换行
      System.out.println("Hello\tWorld");
      System.out.println("=====================================================");
      String sa=new String("hello world");
      String sb=new String("hello world");
      System.out.println(sa==sb);//false
      String sc="hello world";
      String sd="hello world";
      System.out.println(sc==sd);//true
      //对象 从内存分析

      //布尔值扩展
      boolean flag=true;
      //if (flag){} 老手,代码精简易读
      if (flag == true) {
          System.out.println("OK");
      }


  }
}

 

类型转换

低到高,小数优先

public class Demo05 {
  public static void main(String[] args) {
      int i=128;
      byte b=(byte) i;//内存溢出,强制转换要避免溢出
      double c=i;
      //byte,short,char---int---long---float---double
      //强制转换 (类型)变量名 高-低
      //自动转换 低-高
      System.out.println(i);
      System.out.println(b);
      System.out.println(c);
      /*注意点
      1.不能对布尔值进行转换
      2.不能把对象类型转换成不相干类型
      3.高=低 强制转换
      4.转换时可能存在内存溢出,或精度问题
        */
      System.out.println("=========================================");
      System.out.println((int)23.7);//23 精度问题
      System.out.println((int)-47.89f);//-47
      System.out.println("=========================================");
      char d='a';
      int e=d+1;
      System.out.println(e);
      System.out.println((char) e);
  }
}

乘法中溢出问题

public class Demo06 {
  public static void main(String[] args) {
      //操作比较大的时候,注意溢出问题
      //JDK7新特性,数字之间可用下划线分割
      int money=10_0000_0000;
      int years=20;
      int total=money*years;//-1474836480 计算溢出
      long total2=money*years;//-1474836480 计算溢出
      //默认是int 转换之前已经存在问题
      long total3=money*((long)years);
      System.out.println(total);
      System.out.println(total2);
      System.out.println(total3);
  }
}

 

posted @   征途**  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示