zoukankan      html  css  js  c++  java
  • Java基础语法

    类型

    • 整数:short(2字节)、int(4字节)、long(8字节)
    • 字节:byte 1个字节,在需要处理字节数据时(图片处理、编码处理等),表示整数及-128~127
    • 浮点数:存储小数数值,float(4个字节)double(8个字节)
    • 字符:char类型存储'A','B'等字符符号。。在JDK中Java的字符采用Unicode6.2.0编码,JVM结果采用utf-16 BIgEndian,所以每个字符占两个字节,汉字和英文字符在Java中同样用双字节存储。
    • 布尔值:false与true。

    每个类型的存储值的范围

      //byte、int、short、long取值范围

      System.out.printf("%d~%d%n",Byte.MIN_VALUE,Byte.MAX_VALUE);
      System.out.printf("%d~%d%n",Short.MIN_VALUE,Short.MAX_VALUE);
      System.out.printf("%d~%d%n",Integer.MIN_VALUE,Integer.MAX_VALUE);
      System.out.printf("%d~%d%n",Long.MIN_VALUE,Long.MAX_VALUE);

      //float、double精度范围
      System.out.printf("%d~%d%n",Float.MAX_EXPONENT,Float.MIN_EXPONENT);
      System.out.printf("%d~%d%n",Double.MIN_EXPONENT,Double.MAX_EXPONENT);

      //char可表示的Unicode范围
      System.out.printf("%h~%h%n",Character.MIN_VALUE,Character.MAX_VALUE);
      System.out.printf("%b~%b%n",Boolean.TRUE,Boolean.FALSE);

    结果:

      -128~127
      -32768~32767
      -2147483648~2147483647
      -9223372036854775808~9223372036854775807
      127~-126
      -1022~1023
      0~ffff
      true~false

    常用格式控制符号

      %%:在字符串中表示%

      %d:以十进制格式输出

      %f:以十进制浮点数格式输出

      %e,%E:以科学浮点数格式输出

      %o:以八进制整数格式输出

      %x,%X:以十六进制整数格式输出

      %s,%S:字符串格式符号

      %c,%C:以字符符号格式输出

      %b,%B:输出Boolean值,true/TRUE,false/FALSE

      %h,%H:使用Integer.toHexString(arg,hashCode())

      %n:输出特定平台的换行符号,window底下为"\r\n" ,linux底下为"\n",MacOS底下为"\r"

      指定精度:指定两位小数:%.2f;

      指定字符宽度:%6.2f   19.25占5个字符所以补了一个空格在前端。

    变量(variable)

    1.基本规则

      变量在命名时不可以使用数字开头也不可以使用一些特殊字符,变量名不能喝Java关键字同名如int、class等,也不可以与Java保留字同名例如goto。一般以小写字母开始,并在每个单字开始时第一个字母使用大写。int ageOfStudent,驼峰式命名法。

    2.字面常量

      在Java中写下一个值成为字面常数(literal Constant)。

      int number0=0b101010101010;//二进制表示

      int number01=0b1010_1010_1010;//余上一行的值等价

      int number1=12;//十进制表示

      int number2=0xC;//十六进制表示

       int number3=014;//八进制表示

      double number4=0.00123;

      double number5=1.23e-3;

      char size="S";

      char symbol="\'";

    常用的忽略符号

      \\  \

      \'  '

      \"  "

      \uxxxx  以十六进制数指定Unicode字符输出,

      \xxx   以八进制数指定Unicode字符输出

      \b  倒退一个字符

      \f  换页

      \n  换行

      \r  光标移动至行首

     运算符

      算数运算符:+、-、*、/

      比较运算符:>、<、>=、<=、==、!=

      条件运算符:条件式?成立返回值:失败返回值

      逻辑运算符:且(AND)&&、或(OR)||、反相(NOT)!

      位运算:AND&、OR|、XOR^、补码~。与、或、异或,补码。(左移<<:左移指定的位数,左边被挤出去的丢弃右边补0;右移>>:右边挤出去的丢弃左边补上原来的位;

          >>>右移后最左边一定是补0)

      递增递减运算:i++;++i;i--;--i;(++写在前是先将变量加1再返回值,写在后是先返回值再将变量加1,--同理)

      指定运算:+=;-=;*=;/=;%/;&=;|=;^=;<<=;>>=;      (a+=b : a=a+b)

    类型转换

      double pi=3.14;

      float     i=3.14;//编译出错原因是在程序中写下一个浮点数时,编译程序默认使用double型

      float i=3.14F;//告诉编译程序用float类型来存储

      float i=(float)3.14;//强制转换

      int number=2147483648;//错误整数太大

      long number=2147483648;//错误原因是在程序中写下一个整型时默认是使用不超过int类型的长度

      long number=2147483648L;

      int a=10;

      double b=a*3.14;//3.14默认是double所以a的值被提至double空间进行运算

      short a=1;

      short b=2;

      short c=a+b;遗失精度原因操作数不大于int的整数则自动被提升值int类型进行运算

       short c=(short)(a+b);

      自动类型转换

    1.简单数据类型之间的转换

      (byte、short、char)->int->long->double.

      低级到高级自动类型转换

      高级到低级强制类型转换

      自动类型

      byte b; int i=b;long c=b;double d=b;

     强制类型

      short  i=99;char c=(char)i; int i=99;char c=(char)i;//精度溢出

          1.float->double

      float f1=100.0f; Float F1=new Float(f1);double d1=F1.doubleValue();

      2.double->int;

       double d1=100.0;Double D1=new Double(d1); int i1=D1.intValue();

      字符串转为其他类型

      1.封装器在调用相关的方法

          new float("32.1").doubleValue();或Double.valueOf("32.1").doubleValue();

      2.静态的parseXXX;String s="1";byte b=Byte.parseByte(s);

      其他类型转换为字符串

      1.x.toString

      2.自动转换 x+"";

      3.String.valueOf(x);  

    流程控制

     1.if...else条件式

             1) . if(条件式){}

             else{}

        2).  If(条件式一){}

        else if((条件式二{}...

        else{}

     2.switch条件式

      switch(变量或表达式){

        case 整数、字符、字符串、Enumeration:

          描述句;

          break;

         case 整数、字符、字符串、Enumeration:

          描述句;

          break;

        ...

        default:

          描述句;

       }

    3.for循环

      for(初始式;执行结果不需是Boolean的重复式;重复式){

        描述句;

      }

    4.while循环

      while(条件式){

        描述句;

      }//前测试循环

      do{

        描述句;

      }while(条件式);

    5.break、continue

      break:中断当前循环;

      continue:略过之后的描述句;

      break设定标签与区块可以离开整个区块如:

      back:{

        for(int i=0;I<10;i++){

          if(i==9){

            break back;

          }

        }

      }

         continue 可以调至任何一层的for循环忽略之后的描述句

      back1:
      for(int i=0;i<10;i++) {
        back2:
        for(int j=0;j<10;j++) {
          if(j==9) {
            continue back2;
          }
        }
      System.out.println("text");
      }

  • 相关阅读:
    【摘】DB2程序性能
    动态html标签textarea的readOnly属性(JavaScript)
    Html和Xml 文件中的特殊字符 需要转义【转】
    ping的通telnet不正常 服务器之间连接不稳定
    AJAX 和 JSP 10.5(转)实现进度条【转】
    RedHat上部署was7.0
    JPPF 在Windows Server 2008R2上的配置
    银联贷记卡账务账务计算说明
    mybatis源码分析
    使用Neo4j的apoc插件,实现数据从MySQL抽取到Neo4j
  • 原文地址:https://www.cnblogs.com/wengbm/p/8051936.html
Copyright © 2011-2022 走看看