zoukankan      html  css  js  c++  java
  • Java(二)——Java基础

    Java基础

    一、hello world程序

    public class Hello {
        public static void main(String[] args) {
            System.out.println("Hello, world!");
        }
    }
    

    二、运行Java文件

    // Hello.java  为一个编写的Java源码文件
    // 可执行文件javac是编译器,而可执行文件java就是虚拟机。
    
    1. javac 把  Hello.java 编译成字节码文件 Hello.class
    2. 用 java 命令执行这个字节码文件
    
    // 终端执行Java文件
    
    // 1.  在保存Hello.java的目录下执行命令javac Hello.java
    up@up123:~/xxx/xxx$   javac Hello.java      // 源码无误时不会用任何输出当前目录下会产生一个Hello.class文件
    
    // 2. 执行Hello.class,使用命令java Hello
    up@up123:~/xxx/xxx$ java Hello
    // 给虚拟机传递的参数Hello是我们定义的类名,虚拟机自动查找对应的class文件并执行
    // Java程序实际上是在Java虚拟机(JVM)中运行的,所以能达到跨平台的目的
    

    注意:

    • 一个Java源码只能定义一个public类型的class,并且class名称和文件名要完全一致

    • 使用javac可以将.java源码编译成.class字节码;

    • 使用java可以运行一个已编译的Java程序,参数是类名。

    • javac.exe会获得我们操作系统默认采用的编码格式,而不是java文件的编码

    三、Java程序的基本结构以及命名规范

    // Java是面向对象的语言,一个程序的基本单位就是class,class是关键字,这里定义的class名字就是Hello
    public class Demo {
        // ...
        public static void main(String[] args) { // 方法名是main
            // 方法代码...
        } 
    }
    
    

    类名命名要求:

    • 类名必须以英文字母开头,后接字母,数字和下划线的组合
    • 首字母大写,采用驼峰体,如 MainClass

    方法命名要求:

    • 类名必须以英文字母开头,后接字母,数字和下划线的组合
    • 首字母小写,采用驼峰体,如 calculateNumber,goodElement

    注释:

    • // 单行注释
    • /* xxxx */多行注释

    四、基本数据类型

    基本数据类型即CPU可以直接进行运算的类型

    1、基本数据类型

    • 整数类型:byte,short,int,long
    • 浮点数类型:float,double
    • 字符类型:char
    • 布尔类型:boolean

    2、数据类型在内存中的大小

    计算机内存的最小存储单元是字节(byte),一个字节就是一个8位二进制数,即8个bit

    数据类型 内存大小/字节(B)
    byte 1
    short 2
    int 4
    long 8
    float 4
    double 8
    char 2

    3、基本数据类型详解

    // 整型    byte    short   int    long
    对于整型类型,Java只定义了带符号的整型,因此,最高位的bit表示符号位(0表示正数,1表示负数)。各种整型能表示的最大范围如下
    ·byte:-128 ~ 127
    ·short: -32768 ~ 32767
    ·int: -2147483648 ~ 2147483647
    ·long: -9223372036854775808 ~ 9223372036854775807
    
    // e.g.
    int a = 10;
    
    // 浮点型    float  double
    浮点类型的数就是小数,因为小数用科学计数法表示的时候,小数点是可以“浮动”的,如1234.5可以表示成12.345x10^2,也可以表示成1.2345x10^3,所以称为浮点数。
    ·float类型可最大表示3.4x10^38,而double类型可最大表示1.79x10^308
    ·float类型需要在数据后面加 f
    ·使用科学计数法   12.345x10^2 ===>   12.345e2
    
    // e.g.
    float a = 3.14f;
    float a = 3.14e10f;
    double a = 2.5343;
    double b = -2.5343e5;
    
    // 布尔类型    boolean
    布尔类型 boolean 只有true和false两个值,布尔类型总是关系运算的计算结果:
    
    // e.g.
    boolean b1 = true;
    boolean b2 = false;
    
    // 字符类型    char
    字符类型 char 表示一个字符。Java的 char类型除了可表示标准的ASCII外,还可以表示一个Unicode字符
    ·注意char类型使用单引号'',且仅有一个字符,要和双引号" "的字符串类型区分开。
    
    // e.g.
    char a = 'c';
    
    // 常量    final
    定义变量的时候,如果加上 final 修饰符,这个变量就变成了常量
    
    // e.g.
    final int a = 10;
    PI = 3.14;
    

    4、类型自动提升与强制转型

    (1)类型自动提升

    在运算过程中,如果参与运算的两个数类型不一致,那么计算结果为较大类型的整型。例如,shortint计算,结果总是int,原因是short首先自动被转型为int

    int a = 5;
    double b = 2.5;
    System.out.print(a/b);     // 结果为double类型
    

    (2)强制转换

    int a = 300;   // 00000000 00000000 00000001 00101100
    byte b = (byte) a;     // 舍弃高位的3个字节  00101100
    System.out.print(b);      // 44     00101100
    

    五、整型运算符

    1、基本运算

    //  基本运算
    +、-、*      // 加减乘
    /       // 表示除法,结果为商的整数部分
    %      // 表示取模,获取除法的余数部分
    
    // 简写
    +=、-=、*=、/=
    
    a += 1;    // a = a + 1
    
    // 自增、自减运算
    ++
    --
    
    ++n表示先加1再引用n
    n++表示先引用n再加1
    

    2、移位运算

    // >>    <<
    整数总是以二进制的形式表示,利用二进制对整数进行移位运算
    		// 当最高位为0时表示整数,为1时表示负数
    
    int a=7;   //		  00000000 00000000 00000000 00000111
    int b = a << 2;  //   b = 28   		  00000000 00000000 00000000 00011100
    int c = a >> 2;  //   c = 1  	    00000000 00000000 00000000 00000001
    int d = a << 29;  //  d = -536870912  	 11100000 00000000 00000000 00000000
    

    3、位运算

    位运算是按位进行与(&)、或(|)、非(~)和异或(^)的运算

    & 与 运算的规则是,必须两个数同时为1,结果才为1
    | 或 运算的规则是,只要任意一个为1,结果就为1
    ~ 非 运算的规则是,0和1互换
    ^ 异或运算的规则是,如果两个数不同,结果为1,否则为0
    
    n = 0 & 1; // 0
    n = 0 | 1; // 1
    n = 0 ^ 0; // 0
    n = 0 ^ 1; // 1
    

    4、运算优先级

    优先级从 高 到 低以下:

    • ()
    • ! ~ ++ --
    • * / %
    • + -
    • << >> >>>
    • &
    • |
    • += -= *= /=

    六、布尔类型运算符

    对于布尔类型boolean,永远只有truefalse两个值

    1、运算符

    比较运算符:>,>=,<,<=,==,!=
    与运算 &&
    或运算 ||
    非运算 !
    

    运算优先级:

    • 比较运算符:>>=<<===!=
    • 与运算 &&
    • 或运算 ||
    • 非运算 !

    2、短路运算

    &&   //  a>1 && b/0>1     如果a大于1为false,那么直接返回false,不会计算后面的条件,即使后面的条件会报错
    ||    //  a>1 || b/0>1     如果a大于1为true,那么直接返回true,不会计算后面的条件,即使后面的条件会报错
    
    

    七、字符类型

    字符类型char是基本数据类型,它是character的缩写。一个char保存一个Unicode字符

    因为Java在内存中总是使用Unicode表示字符,所以,一个英文字符和一个中文字符都用一个char类型表示,它们都占用两个字节

    char c = 'a';
    char d = '中'
    
    

    八、字符串类型——引用类型

    字符串类型是引用类型

    注意要区分空值null和空字符串"",空字符串是一个有效的字符串对象,它不等于null

    String s = "string";
    
    String s1 = "";
    String s2 = null;
    System.out.print(s1 == s2)   //  false
    
    

    九、数组类型——引用类型

    // 定义一个数组
    int[] array = new int[5];    // 使用默认值,长度为5
    
    int[] ns = new int[] { 68, 79, 91, 85, 62 };     // 直接为数组设置元素,不用指定长度
    
    ·数组所有元素初始化为默认值,整型都是0,浮点型是0.0,布尔型是false;
    ·数组一旦创建后,大小就不可改变。
    
    
  • 相关阅读:
    设置圆形头型并且可以点击
    不可忽略的知识点
    【Java基础】03_Java常用API
    常用键盘功能键和快捷键以及DOS命令
    【Excel 2013 数据透视表 学习】一、创建数据透视表
    【Java基础】05_异常&File
    【Java基础】04_集合框架
    【设计模式之禅】第2章 里氏替换原则
    【设计模式之禅】第1章 单一职责原则
    Eclipse中快捷键的使用
  • 原文地址:https://www.cnblogs.com/linagcheng/p/12158311.html
Copyright © 2011-2022 走看看