zoukankan      html  css  js  c++  java
  • Day03_java基础知识

    Day03_java基础知识

    数据类型

    long类型要在数字后加L,例:

    long num1 = 10L;
    

    float类型要在数字后加F,例:

    folat num2 = 20.1F;
    

    整型扩展

    进制

    二进制:0b

    八进制:0

    十六进制:0x

    浮点数扩展

    最好完全避免使用浮点数进行比较

    利用BigDecimal表示大数。

    字符拓展

    c1,c2均是字符a。

    char c1 = 'a';
    
    char c2 = 'u0061';
    

    转义字符:

    类型转换

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

    低—————————————————————>高

    byte,short,char —> int —> long —>float —>double

    高->低:强制转换。

    低->高:自动转换。

    强制转换时出现的问题

    内存溢出

    int i =128;
    byte b = (byte)i;
    

    结果:i =128,b=-128。

    原因是强制转换时内存溢出。

    注意点

    1. 不能对布尔值进行转换。
    2. 不能把对象类型转换成不相干的类型。
    3. 在把高容量转换到低容量的时候,强制转换。
    4. 转换的时候可能存在内存溢出,或者精度问题。

    JDK7新特性:数字之间可以用下划线分割。

    int a = 10_0000_0000;
    int b = 20;
    int total1=a*b;
    long total2=a*b;
    long total3=a*((long)b);
    

    total1,total2的值均会出现异常,total3的值正常。

    total1的原因是内存溢出,total2的原因是先内存溢出,后进行的类型转换。计算total3时,对b进行类型转换,将整个式子进行了提升,相乘结果为long类型。

    变量

    修饰符不存在先后顺序。

    常量:大写字母和下划线。

    类名:首字母大写和驼峰原则。

    tips:crtl+D:复制当前行到下一行。

    基本运算符

    基本运算后,结果类型会自动升型,如果运算因子有一个类型为long,则结果类型为long,如果两个运算因子类型为byte或short,结果类型为int。

    短路运算

    当逻辑运算符&&遇到第一个条件即为假时,直接返回结果为假。

    public class Demo05{
      public static void main(String[] args){
        int c=5;
        boolean d=(c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);
      }
    }
    

    输出结果为:false

    ​ 5

    这是因为c<4已为假,故d直接赋值false,c++<4未运行。

    位运算符

    >> 相当于乘以2

    << 相当于除以2

    优点是效率极高

    2*8最快的运算方式:2>>3

    字符串链接符

    public class Demo06{
      public static void main(String[] args){
        int c=5;
        int d=6;
        System.out.println(""+c+d);
        System.out.println(c+d+"");
      }
    }
    

    输出为56

    ​ 11

    这是由于""+在前面会默认把后面的数据当作字符串处理,c+d在前面会先运算两个整数相加。

    三元运算符

    public class Demo07{
      public static void main(String[] args){
        int c=50;
        int d=80;
        string type1=c<60?"不及格":"及格";
        string type2=d<60?"不及格":"及格";
        System.out.println(type1);
        System.out.println(type2);
      }
    }
    

    输出:不及格

    ​ 及格

    包机制

    代码在某个包下:package pkg1.pkg2.pkg3;

    导入某个类:import pkg1.pkg2.pkg3.classname;

    导入所有包,用通配符:import pkg1.pkg2.pkg3.*;

    JavaDoc

    javaDoc命令是用来生成自己API文档的。

    javadoc -encoding UTF-8 -charset UTF-8 hello.java
    

  • 相关阅读:
    C3线性化
    fingerprint for the ECDSA key
    tmp
    线性筛(欧拉筛)
    tmp
    tmp
    Micro Frontends 微前端
    TreeFrog Framework : High-speed C++ MVC Framework for Web Application http://www.treefrogframework.org
    消息同屏转发
    web-linux-shell实现 阿里方案canvas+wss。
  • 原文地址:https://www.cnblogs.com/gaoyao/p/13302393.html
Copyright © 2011-2022 走看看