`
lijuanabc
  • 浏览: 125763 次
社区版块
存档分类
最新评论

Java编程基础

 
阅读更多

摘要:

  1、关键字  2、标识符  3、注释  4、常量和变量  5、运算符  6、语句  7、函数  8、数组

  ①  标识符定义规则与规范

  ②  整数常量进制表示

       八进制  0 开头

       十六进制 0X 或 0x 开头

       二进制  0b 或 0B 开头  (Java SE 7 后开始支持)

  ③  八大基本数据类型

    整数:  byte(1)、short(2)、int(4)、long(8)
    浮点数: float(4)、double(8)  
    字符:  char(2)
    布尔:  boolean
  ④  类型转换
    自动类型提升、强制类型转换
  ⑤  运算符

  

1、关键字

  被java语言赋予特殊含义的单词(小写)。

2、标识符

  程序中自定义的一些名称。

  规则:

  (1)由 26 个英文字母大小写、数字 0~9、下划线 _ 、美元符号 $ 组成。

  (2) 数字不可以开头,不可以使用关键字。

  规范:

  (1) 包名:全部小写xxxyyyzzz

  (2) 类名、接口名:由多个单词组成,单词首字母大写XxxYyyZzz

  (3) 变量名、函数名:由多个单词组成,除首个单词首字母小写外,后面单词首字母大写xxxYyyZzz

  (4) 常量:全部大写,多个单词之间以下划线隔开XXX_YYY_ZZZ

3、注释

4、常量和变量

  (一)常量

  (1) 整数常量

    ①十进制
    ②八进制,0开头,1位等于二进制中的3位
    ③十六进制,0x开头,1位等于二进制中的4位
    ④二进制,1字节8位二进制
    进制越大,表现形式越短
    进制转换
     十进制 --> 二进制(除以2求余)
     二进制 --> 十进制(乘2)
      负数的二进制,由整数的二进制取反+1
      负数最高位为1
     二进制 --> 十六进制(四位二进制表示一位十六进制)
     二进制 --> 十六进制(三位二进制表示一位十六进制)
复制代码
/**
    常量和进制
*/
public class ConstantDemo {
    public static void main(String[] args) {
        // 6 的二进制    110
        System.out.println(Integer.toBinaryString(6));
        // -6 的二进制    11111111111111111111111111111010
        System.out.println(Integer.toBinaryString(-6));
        // JavaSE 7 开始支持二进制常量
        System.out.println(Integer.toBinaryString(0b100));
        System.out.println(Integer.toBinaryString(0B100));
        // 十六进制的表示
        System.out.println(Integer.toBinaryString(0x10));
        System.out.println(Integer.toBinaryString(0X10));
        // 八进制
        System.out.println(Integer.toBinaryString(010));
    }
}
复制代码

  (2) 小数常量

  (3) 布尔类型常量  ture、false

  (4) 字符常量  用 ' ' 标识

  (5) 字符串常量  用" " 标识

  (6) null 常量

  (二) 变量

  Java是强类型语言,通过明确数据类型、变量名称和数据来开辟命名空间

  概念:

    内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型)

    该区域的数据可以在同一类型范围内不断变化   

    用来不断的存放同一类型的常量,并可以重复使用

  使用变量注意: 变量的作用范围(一对{}之间有效) 初始化值  

  基本变量类型:
    整数:byte(1)、short(2)、int(4)、long(8)
    浮点数:float(4)、double(8)  
    字符:char(2)
    布尔:boolean
  注意:整数默认情况下是 int 类型。小数默认情况下为 double 类型。

  引用数据类型

    类  class

    接口  interface

    数组  []

  每种数据类型占用存储空间大小不变性是Java程序比其他大多数语言编写的程序更具有可移植性的原因之一。
  (三) 类型转换

    自动类型转换(隐式类型转换、自动类型提升)

      表达式的数据类型自动提升:所有的 byte 型、short 型和 char 的值将被提升到 int 型。

    强制类型转换(显式类型转换)

复制代码
/**
    类型转换
    整数默认情况下是 int 类型。小数默认情况下为 double 类型。
*/
public class VarDemo {
    public static void main(String[] args) {
        short s = 30000;    // short   -32768~32767    
        long l = 4;
        System.out.println(l);
        l = 4l;        // 定义为长整型。l 可省略
        System.out.println(l);

        // float f = 2.4;    // 编译不通过,可能损失精度。
        float f = 2.3f;        // 默认情况下,小数是double型
        double d = 2.3;
        char ch = '4';

        boolean bo = true;
        boolean bo1 = false;
        
        byte b = 3;
        // b = b + 2;        // 编译失败,可能损失精度
        // 默认情况下,整数是int
        b = (byte)(b + 2);        //强制类型转换
        System.out.println(b);

        System.out.println('a');
        System.out.println('a' + 1);    // char 提升为 int 类型
        System.out.println((char)('a' + 1));    //强制类型转换
    }
}
复制代码

5、运算符

  (1) 算数运算符 (Arithmetic Operation)

    %  取模负数时只看被模,即左边

    +  字符串连接符。字符串数据 和 任何数据使用 + 相连接,最后都会变成字符串

复制代码
/*
    算数运算符
    转义字符
*/
class ArithmeticOperator 
{
    public static void main(String[] args) 
    {
        // % 取模
        System.out.println(1%-5);
        System.out.println(-1%5);    //取模负数时只看被模,即左边
        
        // 字符串连接符
        // 字符串数据 和 任何数据使用 + 相连接,最后都会变成字符串
        System.out.println("5+5" + 5 + 5);    //"5555"

        /*
            转义字符,通过 \ 来转变后面字母或者符号的含义
            \n    换行
            \b    退格,相当于backspace
            \r    按下回车。Window系统中,回车符是由两个字符表示的,\r\n.
            \t    制表符,相当于tab键
        */
        System.out.println("Hello \n world");
        System.out.println("Hello\bworld");
        System.out.println("Hello World \r java");    //回车后,\r前的字符串被后面的字符串覆盖
        System.out.println("Hello \t world");
        System.out.println("\"Hello\"world");
        System.out.println("\\Hello\\world");

        char cn = '\n';
        char cn1 = '\'';
        char cn2 = '你';    //可以使用多种方式为char类型赋值
    }
}
复制代码

  (2) 赋值运算符 (Assignment Operator)

    = , +=, -=, *=, /=, %=

复制代码
/**
    赋值运算符
*/
public class AssignmentOperator {
    public static void main (String[] args) {
        char c = 95;

        // c = c + 5;    // 编译不通过
        c += 5;            // 赋值语句,自动转换
        System.out.println("c = " + c);

        int  a,b;
        a = b = 5;    // 同时给a,b赋值,为5
        System.out.println("a = " + a + ", " + "b = " + b);
    }
}
复制代码

  (3) 比较运算符 (Comparison Operator)

  (4) 逻辑运算符 (Logical Operator)

    &  与  (AND)
    |  或  (OR)
    ! 非  (NOT)
    ^ 异或 (XOR) 

    && 与  (AND)  当左边为假,则右边不运算
    || 或  (OR)   当左边为真,则右边不运算
    相对 &、| 而言,&&、|| 运算效率较高。后面条件可能不执行,而对程序产生一定影响(Short-circuiting,短路)

  (5) 位运算符 (Bitwise Operator) 

      移位运算对于数值运算是最快的 

    <<   左移,乘以2的移动的位数次幂
    >>   右移,除以2的移动的位数次幂
    >>>  无符号右移
    >> 和 >>> 的区别

      >>最高位由原首位决定移位填充值
      >>> 最高位补0
    &  与
    |   或
    ^  异或
    ~  反码     

    1、由 -6 = ~6 + 1 ,得~6 = -7

    2、一个数异或同一个数两次,值不变  ( 用于加密、交换数据)

      对两个整数变量的值进行交换(不需要第三方变量)http://www.cnblogs.com/Ashia/archive/2012/04/29/2476444.html

复制代码
/**
    需求 : 10进制转换为16进制,使用移位和与的方法
    思路 : int 占4字节内存。共 32 位
           &15,取后四位。转化为 十六进制数
*/
public class HexConverter {
    public static void main (String[] args) {
        int i = -311;
        System.out.println(converter1(i));
        System.out.println(converter2(i));
    }

    public static String converter1 (int i) {
        String result = "";
        // 循环直到所有 i 右移为 0
        while (i != 0) {
            int temp = i & 15;
            if (temp <= 9) {
                result = temp + result;
            } else {
                result = (char)(temp - 10 + 'a') + result;
            }
            // 无符号右移。防止负数时 i 无法到0
            i = i >>> 4;
        }
        if (result == "") {
            result = "0";
        }
        return result;
    }

    public static String converter2 (int i) {
        // 使用 java 提供的 api 进行进制转换
        return Integer.toHexString(i);
    }
}
复制代码

    (6) 三元运算符 (TernaryOperator)

      ( 条件表达式 ) ? 表达式一 :表达式二

    好处:可以简化 if ... else ...

    弊端: 运算结果是一个表达式。必须赋值给变量等。

       可读性较低

6、语句

7、函数

8、数组

分享到:
评论

相关推荐

    《Java编程基础》电子教案

    《Java编程基础》电子教案是为初学者设计的一份详尽的教学资料,旨在帮助学习者系统地掌握Java编程语言的基础知识。这份教案以其易学性和深入浅出的特点,深受广大编程爱好者欢迎。以下是对这份教案可能包含的重要...

    java语法大全,java语法,java编程基础,java入门

    这份"java语法大全"文档,结合了“java语法”,“java编程基础”,以及“java入门”等核心主题,旨在为初学者提供全面的学习资源,帮助他们理解和掌握Java语言的基本概念和高级特性。 首先,Java语法是学习Java的...

    《Java编程基础》-曹静-电子教案-5589

    《Java编程基础》-曹静-电子教案-5589 第1章 引言 第2章 开发Java程序 第3章 类和对象第4章 Java语言基础第5章 深入讨论类 第6章 程序的流程控制 第7章 数组

    Java编程基础课设 Java打字游戏.zip

    Java编程基础课设 Java打字游戏.zipJava编程基础课设 Java打字游戏.zip 、Java编程基础课设 Java打字游戏.zipJava编程基础课设 Java打字游戏.zip Java编程基础课设 Java打字游戏.zipJava编程基础课设 Java打字游戏....

    徐明浩java编程基础应用与实例代码

    《徐明浩java编程基础应用与实例代码》是针对初学者和有一定经验的Java程序员的一份宝贵资源,它深入浅出地介绍了Java编程的基础概念和实际应用。通过徐明浩先生的专业指导,读者可以系统性地掌握Java语言的核心要素...

    《Java编程基础》-曹静-源代码

    《Java编程基础》是计算机科学领域的一门重要课程,由曹静老师编写的源代码旨在帮助初学者理解和掌握Java编程语言的基本概念、语法结构以及实际应用。这份资料包含的源代码是学习Java编程的宝贵资源,可以加深对理论...

    java编程基础、应用与实例.rar

    Java编程基础、应用与实例是学习Java这门广泛使用的编程语言的理想起点,尤其适合初学者。这个压缩包可能包含了各种教程、示例代码和实践项目,帮助初学者从零开始理解Java的核心概念,并逐步掌握其实际应用。 1. *...

    完整版 Java编程基础入门教程 Java语言程序设计 第1章_java概述(共50页).ppt

    完整版 Java编程基础入门教程 Java语言程序设计 第10章_网络编程(共68页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 第11章_数据库的连接(共36页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 ...

    Java编程基础知识变量与数据类型

    资源名称:Java编程基础知识变量与数据类型资源目录:【】11957c6aed0bbd30e284837b53bc3a6f【】2.Java编程基础知识变量与数据类型1.数据类型初阶【】2.Java编程基础知识变量与数据类型10.浮点类型【】2.Java编程...

    Java编程基础.pdf

    Java编程基础

    完整版 Java编程基础入门教程 Java语言程序设计 第10章_网络编程(共68页).ppt

    完整版 Java编程基础入门教程 Java语言程序设计 第10章_网络编程(共68页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 第11章_数据库的连接(共36页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 ...

    《Java编程基础知识点汇总及习题集》--答案《JAVA程序设计》

    《Java编程基础知识点汇总及《JAVA程序设计》习题集》--答案

    完整版 Java编程基础入门教程 Java语言程序设计 全套PPT课件资源集合 共11个章节.rar

    完整版 Java编程基础入门教程 Java语言程序设计 第10章_网络编程(共68页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 第11章_数据库的连接(共36页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 ...

    java编程基础.txt

    java编程基础

    完整版 Java编程基础入门教程 Java语言程序设计 第5章_继承与多态(共61页).ppt

    完整版 Java编程基础入门教程 Java语言程序设计 第10章_网络编程(共68页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 第11章_数据库的连接(共36页).ppt 完整版 Java编程基础入门教程 Java语言程序设计 ...

    Java编程基础课件

    Java编程基础是编程学习的重要部分,它为程序员进入软件开发领域提供了坚实的基石。在这个Java编程基础课件中,我们将会探讨一系列关键知识点,包括Java语言的起源、特性、环境搭建,以及基本语法元素。 首先,Java...

    新手入学Java编程基础

    【Java编程基础】是计算机科学领域的一门重要课程,尤其对于初学者而言,它是进入软件开发世界的敲门砖。Java以其“一次编写,到处运行”的跨平台特性,以及丰富的类库和强大的社区支持,成为了全球范围内广泛使用的...

    java编程基础ppt

    此ppt是java编程基础相关的知识点,ppt详细的介绍了java相关的基础知识,简单容易理解

    java编程基础教程

    Java编程基础教程是初学者踏入Java世界的一把钥匙,它涵盖了所有必要的基础知识,旨在帮助学习者建立起坚实的编程技能。这个教程以清晰、易懂的方式展开,确保初学者能够轻松理解和应用所学知识。 首先,Java编程...

    Java编程基础3套期末考试卷AB卷带答案-模拟测试题.doc

    Java编程基础3套期末考试卷AB卷带答案-模拟测试题.doc

Global site tag (gtag.js) - Google Analytics