zoukankan      html  css  js  c++  java
  • Java 学习笔记 ------第三章 基础语法

    本章学习目标:

    • 认识类型与变量
    • 学习运算符的基本使用
    • 了解类型转换细节
    • 运用基本流程语法

    一、类型(基本类型)

    所谓基本类型,就是在使用时,得考虑一下数据用多少内存长度存比较经济,利用程序语法告诉JVM,然后由JVM自动为你在内存中配置和管理。在Java中的基本类型主要可区分为整数、字节、浮点数字符与布尔。

    • 整数:
    类型 长度 范围
    short 2字节 -32768 ~ 32767(2-15 ~ 215-1)
    int 4字节 -21474836548 ~ 2147483647(2-31 ~ 232-1)
    long 8字节 2-63 ~ 263-1
    • 字节:byte长度就是1字节,在需要逐字节处理数据时(如图像处理、编码处理等),就会使用byte类型,若用于表示整数,byte可表示-128~127的整数

    • 浮点数:分为float(4字节)和double(8字节)。

    • 字符:在JDK8中,Java使用Unicode 6.2.0编码,JVM结果采用UTF-16 Big Endian,所以每个字符类型占2字节,汉字字符和英文字符都是双字节储存。

    • 布尔:boolean类型可表示true和false。

    public class Range{
    	public static void main(String[] args) {
    		//byte、short、int、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.MIN_EXPONENT,Float.MAX_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);
    		//boolean两个值
    		System.out.printf("%b ~ %b%n",Boolean.TRUE,Boolean.FALSE);
    	}
    }
    
    /*Output:
    -128 ~ 127
    -32768 ~ 32767
    -2147483648 ~ 2147483647
    -9223372036854775808 ~ 9223372036854775807
    -126 ~ 127
    -1022 ~ 1023
    0 ~ ffff
    true ~ false
    */
    
    

    二、类型转换

    1、double和float

    float PI = 3.14    //将double长度的数据放入float中,会损失4字节的数据
    float PI = 3.14F   //告诉编译程序用float来储存3.14
    float PI = (float)3.14   //强制类型转换
    

    2、整数间的转换

    //编译时得到integer number too large错误
    //因为程序写下一个整数时默认使用不超过int类型长度
    int number = 2147483648;  
    long number = 2147483648;
    
    //告诉编译程序用long来配置整数长度
    long number = 2147483648L;
    
    //如果表达式中包括不同类型数值,则运算时以长度最长的类型为主,其他数值自动提升类型
    //以下a的值被提升至double
    int a = 10;
    double b = a * 3.14
    
    //如果操作数都是不大于int的整数,则自动提升为int类型进行运算。
    //以下程序存在遗失精度的问题
    short a = 1;
    short b = 2;
    short c = a + b;
    
    

    三、变量

    变量在C语言课程里已经详细讲过,在这里重点强调一下变量的命名规范

    完整的程序中必然充斥着各种功能的变量、常量、函数(方法)等,如何通过命名方式来让它们更直观的表达出各自的作用至关重要。

    书中主要提到以下几点:

    • 全局变量、类和结构应该有说明性文字
    • 局部变量名字尽可能短
    • 遵守普遍接受的命名惯例,比如指针使用p结尾(nodep),全局变量大写开头(Global)等等
    • 不要太纠结于个人编码规矩,比如使用numPending还是num_pending(Java里偏向第一种)
    • 函数的命名,如一些判断条件是否满足并返回布尔类型的函数通常都为is开头(如isUpperCase()),JavaBean里的getter & setter,toString()等等

    总结一句话,就是命名与作用相关!

    Java平台建立了一整套很好的命名惯例(naming convention),包括字面的(typographical)和语法的(grammatical):

    字面惯例的例子

    标示符类型 例子
    com.xiaoyu.util, org.xiaoyu.dao.impl
    类或者接口 HttpServlet, AsyncTask(单词首字母大写)
    方法或者域 toString, equal, isUpperCase(首单词首字母小写,之后单词首字母大写)
    常量域 IP_ADDR(全部大写,单词之间加下划线)
    局部变量 stuNumber,mString(与方法命名类似)
    类型参数 T,E,V,K等等

    语法惯例的例子

    • JavaBean中强制的getter和setter
    • 转换对象类型的方法(toType),如toArray,toString
    • 静态工厂常用名:newInstance、getInstance等等
    • ....................

    更具体的请点击(http://jingyan.baidu.com/article/574c52193c53fb6c8d9dc104.html)Java命名规范。

    四、if-else、while、for、switch

    Java中以上流程控制和C语言基本一致。Java中在for循环上有一种简化方法,名叫foreach方法,涉及到数组和集合的遍历循环。之后会有更详细的涉入。

  • 相关阅读:
    定义扩展点,实现发布订阅机制
    JS阻止事件冒泡
    Virtualbox安装黑苹果
    外部Tomcat使用Java热部署利器JRebel
    在Windows server 2016上使用docker
    Tomcat加载web.xml文件的顺序详解
    IDEA反编译整个jar包
    java集合类的继承结构
    利用BodyTagSupport创建带标签体的自定义标签
    jquery实现简单弹出框
  • 原文地址:https://www.cnblogs.com/xiaoYu3328/p/5225636.html
Copyright © 2011-2022 走看看