ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java 基础知识学习

2022-06-27 09:04:15  阅读:162  来源: 互联网

标签:java String int System 基础知识 学习 println Hello out


java运行机制

 

image-20220622215132261

java 注释

//单行注释
/**/多行注释
/**@Description wangchaoyang*/段注释

标注注意事项

image-20220623204013865

image-20220623204020154

image-20220623223411679

 

public class Demo02八大基本数据类型 {
  public static void main(String[] args) {
      //八大基本数据类型
      //整数表示方式
      int num1 = 10; //最常用 范围-2147483648~2147483648 占用4字节
      byte num2 =20;//范围-128~127 占用1字节
      short num3 =30;//范围-32768~32767 占用2字节
      long num4 =40L;//Long 类型后面要加L 范围-9223372036854775808~9223372036854775807 占用8字节

      //小数:浮点类
      float num5 = 50.1F;//float 类型后面要加F 占用4字节
      double num6 = 3.1415926; //占用8字节

      //字符
      char name = 'a'; //占用2字节

      //字符串,string 不是关键字,是类
      String namea = "王朝阳";

      //布尔值:代表是非 占用1字节
boolean flag = true;
//boolean flag false;

  }
}

整数、浮点数拓展

public class Demo03整数浮点数拓展 {
  public static void main(String[] args) {
      //案例1 整数拓展   进制 二进制0b 十进制   八进制0   十六进制0x 输入方式
      int i =10;
      int i2 =010;//八进制
      int i3 =0x10;//十六进制
      System.out.println(i);//10
      System.out.println(i2);//8
      System.out.println(i3);//16   0~9 ABCDEF 16

//案例2 浮点数拓展
//银行业务用什么表示?float和double有问题
      //float 浮点数表达字符有限   会存在舍入误差 接近不等于
      //最好完全使用浮点数进行比较
      //应该用用BigDecimal 数学工具类
      //少用浮点数进行比较
      float f =0.1f;
      double d =1.0/10;
      System.out.println(f==d);//false
      float d1 =2323232323f;
      float d2 =d1 + 1;
      System.out.println(d1==d2);//true
//案例3 所有字符本质还是数字,把字符强制转换成数字
      char c1 ='a';
      char c2 ='中';

        System.out.println(c1);//a
      System.out.println((int)c1);//97 强制转换
        System.out.println(c2);//中
      System.out.println((int)c2);//20013 强制转换
      // 编码Unicode (表 97=a)处理各种语言的文字   2字节
//案例4   转义字符 有很多
      // \t 字符表
      // \n 换行
      // \... 还有很多
      System.out.println("Hello,world!");//会正常输出Hello,world!
      System.out.println("Hello\tworld!");//会输出Hello world!
      System.out.println("Hello\nworld!");
      //会输出Hello
      //world!
//案例5 对象中 从内存分析 为什么不一样
      String sa =new String("Hello,world");
      String sb=new String("Hello,world");
      System.out.println(sa==sb);//false

      String sc = "Hello,woeld";
      String sd = "Hello,woeld";
      System.out.println(sc==sd);//true
      //案例6 布尔值拓展
      boolean flag = true;
              if (flag==true); //新手
              if (flag);   //老手
      //代码要精简易读

  }
}

 

数据转换


public class Demo04 {
  public static void main(String[] args) {
      //低-------------------------------高
      //byte<short<char<int<long<float<double


      //案例1 强制转换是从高到低转 (类型)变量名 数值超过往小转的范围,会计算错误
      int i =127;
      byte b =(byte) i;
System.out.println(i);//127
      System.out.println(b);//127

      //案例2 自动转换是从低到高   直接输入变量名即可
      int p =128;
      double u = p;
      System.out.println(p);//128
      System.out.println(u);//128.0

      //案例3 转换的时候可能存在内存溢出的,或精度问题
      System.out.println((int)23.7);//输出为23,小数转没了
      System.out.println((int)-45.89f);//输出为45,小数转没了

      //案例4 a字符 没有转换+1=得出数字
      char c = 'a';
              int d =c+1;
                      System.out.println(c);//a
      System.out.println(d);//98

      //案例5 直接输出v,a字符转换+1=b
      char f = 'a';
      int v =f+1;
      System.out.println(v);//98
      System.out.println((char)v);//b

      //案例6 操作比较大的数字的时候,注意溢出问题,需要在计算时就进行转换
      //JDK7新特性,数字之间可以用下户线分割
      int money = 10_0000_0000;
      int yuars = 20;
      int total = money*yuars;//-1474836480
          System.out.println(total);
          //如果转换成LONG会不会可以使用, long total1 = money*yuars; 结果是还是错误,因为转换前已经存在问题
          // 正确是该在计算的时候就转换,正确如下
          long total2 =money*((long)yuars);
      System.out.println(total2)


  }
}

注意事项
//不能对布尔值进行转换
//不能把对象类型转换成不相干类型
//再把低容量转换成高容量的时候,强制转换

 

 

 

标签:java,String,int,System,基础知识,学习,println,Hello,out
来源: https://www.cnblogs.com/baidehen/p/16415054.html

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

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

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

ICode9版权所有