Java 基本语法

Java 基本语法

注释、标识符、关键字、运算符、流程控制 

注释:

(1)单行注释   //         Ctrl+/

    (2)多行注释  /*     */   Ctrl+Shift+/  添加多行注释

                            Ctrl+Shift+/  取消多行注释   

    (3)文档注释  /**     */ 

      javadoc -d path Hello.java

代码注释时的编程规范:

    (1)文件首行写上:文件注释,告诉阅读该文件的人,文件的基本信息。 /*     */

    (2)类的上面写上: 类注释,会生成 API,描述该类的功能、参考代码。    /**   */

    (3)成员变量的注释:在生成的 API 文档中,显示该变量的作用。   /**   */

    (4)成员方法的注释:在生成的 API 文档中,显示该方法的作用。   /**   */

    (5)写在方法内部,描述一行代码的功能。   // 

 

标识符:

用字符串名字。(包名、类名、变量名、方法名、参数名)

    (1)以字符或_或 开头;

    (2)不能使用 Java 中声明的关键字做标识符;

    (3)标识符中不能出现特殊字符(~!*)

    (4)标识符不能以数字开头,但是里面可以有数字。

    (5)大小写敏感,不限制长度。

 

命名规则:

    (1)名称要有意义;

    (2)多个单词要用大小写区分开;

    (3)变量名、方法名、首字母小写;类名首字母大写;

    (4) 文件名(.java)必须与类名保持一致。

 

关键字:

Java 中已经使用或未来准备使用的 单词。 

Java 的数据类型

(1)基本数据类型(primitive type),用于科学计算的数据类型,从 计算机 刚刚出现就确定下的数据类型,相对于计算机发展历史是比较原始的。

 

byte    short     int        long

float   double    char       boolean

 

(2)引用数据类型(reference type

字符串、数组、自定义类、API提供的类

String str="aaaa";

  

Java 里面“一切皆对象”   对象.方法()

Java 是一种强类型的语言,目的是为了更好的实现跨平台性。

 

跨软件平台、硬件平台,Java 提供了统一的 JVM 平台:

32CPU

int num=10; //32位长度

64CPU

int num=10; //64位长度

统一规定 int 类型运行在 JVM 上,都是 32 位长度。

 

举例:弱类型语言

var str = false;

str =10;

 

char    

    1,其实就是一个无符号的16整形,其范围为065535,用来存储该字符

       的 Unicode编码值,因为Unicode 编码中包含汉字的编码,所以一个

       char类型的变量也可以存储一个汉字字符。

    2,在代码中直接给出的一个字符值必须用单引号括起来。

          char  zhChar = ‘中’; 

          char enChar = a

          char ucChar = /u0060;

    3,对某些不方便直接书写或直接书写有歧义的字符,java语言规定用

       转义字符给出。/

    4,可以把char类型数据当作整数数据来操作。例如:

      int three=3;

      char one=1;

      int four=three+one; 

  

转义字符可以在 API java.util.regex.Pattern 中找到。上述类用来表示正则表达式,主要用于字符串处理

 

String 

   1,是JDK中定义的一个类,不是基本数据类型

   2,一个String对象可以用来存储多个字符,在程序中直接给出一个  String值要用双引号括起来         String  myName = Ice Xu;   

   3,可以使用 运算符把多个String数据连接起来,并且还可连接其他类型的数据

    例如:

    int count=7;

    System.out.println("Counted " + count + " chars." );

 

String 类型的特点: 

String 类型不变性

String 类型在堆内存中存储值的时候,有两种存储方式。与新建 String 类型的代码有关:

     String str1 = "aaaaa";      //直接定义

     String str2 = new String("aaaaa"); //创建对象 

    String str3 = str1;    //直接把常量池中地址赋值

    String str4 = str2;

   String str5 = "aaaaa";

   str5 ="hello "+str5; //"hello aaaaa"

   

   定义的字符串值,在堆内存中,永远都不会改变了。直接定义的字符串值,保存在“常量池” 中,因为字符串是 Java 开发中最常用的数据类型,方便用户频繁使用某个字符串时,内存读写操作,使用了“常量池”。

   

整数的二进制表示

short    i =57;0000 0000 0011 1001

short    i =-57; 1111 1111 1100 0111 

 

Java 运算符

(1)Java的运算符

   Java 中对 做了扩展,可以作为字符串连接符;

   任何数据类型的数据(包括基本类型和引用类型,用户自定义类)

都可以通过==!=来比较是否相等;

   逻辑运算符AND&&)、OR||)以及NOT!)能生成

一个布尔值(truefalse),运算符号两边也只能放 boolean 值的数据;

   boolean && boolean 

位运算符:  

   说明:

>> :将一个数的各二进制位全部右移若干位,移到右端的低位被舍弃,最高位则移入原来高位的值 

      例如 :

   (无符号位,右移)

   a = 00110111,则 a>>2 = 00001101(正数左边补 0)

   b = 11010011,则 b>>2 = 11110100(负数左边补 1)

右移一位相当于除2取商

 例如: 128 >> 1    returns   128/ 2(1) = 64

  256 >> 4    returns   256/ 2(4) = 16

  -256 >> 4   returns   -256/ 2(4) = -16

>>> :一个数的各二进制位无符号右移若干位,

与运算符>>相同,移出的低位被舍弃,但不同的是最高位

都补0

  如    

    a = 00110111, 则 a>>>2 = 00001101

 b = 11010011, 则 b>>>2 = 00110100

左移 

<<:用来将一个数的各二进位全部左移若干位。高位左移后溢出舍弃,低位补0

例如:a = 00001111,则a<<2 = 00111100

 

 在不产生溢出的情况下,左移一位相当于乘2

 128 << 1  returns  128 * 2(1) = 256

 16 << 2    returns  16 * 2(2) = 64 

(2)基本数据类型的赋值

自动类型转换(隐含转换)和强制类型转换(显式转换) >原始数据类型转换,从低位到高位自动转换 >原始数据类型转换,从高位到低位强制转换,损失精度。 

(3)布尔表达式 

(4)选择结构(if else,switch)

switch 参数类型:intcharbytelongshort、枚举对象

switch(expression) {

 case 整数值1 : 语句; break;

 case 整数值2 : 语句; break;

 case 整数值3 : 语句; break;

 case 整数值4 : 语句; break;//.....

 default:语句;  //必须带上 default

(5)循环结构(while,dowhile,for

循环的要素:循环开始值、循环增长量、循环最大值、循环中的临时变量;

String[] arr = {"aa","bb","cc"};

for(int i=0;i<arr.length;i++){

 String temp = arr[i];

}

int i=0;

while(i<arr.length){

 String temp = arr[i];

 i++;

(6)使用continuebreaklabel进行循环控制

一般使用在嵌套的多层循环中

break :不光可以进行代码跳转、也可以指定跳转的地方。

outer:for(int i=0;i<arr.length;i++){

 inner:for(int j=0;j<10;j++)

 {

  if(j==i){

   break outer;

  }

  

  //.....

 }

Java 中的数组运算

数组:在 Java 中是对象,在连续的内存中存储多个相同类型的数据,该内存整体被称为数组对象。

(1)声明并建立一个基本类型的数组和引用类型的数组类型[] 名称 = new  类型[长度]{初始值};

基本类型数组:

int[] arr = new int[5];

System.out.println(arr);

System.out.println(arr[2]);

基本类型数组定义时需要指定长度;

基本类型数组定义后,JVM会自动根据长度赋初始值,一般按照默认类型赋值; 

引用类型数组:

String[] arr = new String[5];

System.out.println(arr);

System.out.println(arr[2]);

 

引用类型数组定义时需要指定长度;引用类型数组定义后,JVM会自动根据长度赋初始值,一般 NULL

 

(2)为什么数组在使用前必须初始化

定义好数组,意味着分配好了空间,但是空间中还没有任何数据,必须手动赋初始值。

int[] arr = new int[5]{1,2,3,0,0};

(3)定义并初始化一个数组

String[] arr = new String[2];

arr = {"aa","bb"};

String[] arr = new String[2]{"aa","bb"};

String[] arr = new String[]{"aa","bb"};

(4)正确使用数组中的元素数组下标以 开始

(5)创建一个多维数组(存放数组的数组)   

有两种方法:1)直接为每一维分配空间, 如

       int[][] a = new int[2][3]

       int twoDim [][] = new int [][ 4];  //error

2)分别为每一维分配空间,如:  

int[][] a = new int[2][ ]

    a[0] = new int[3];

    a[1] = new int[3];     

可以为每行设置为空间大小不同的数组。

     如:int[][] a = new int[2][ ]//指定第一维长度

     a[0] = new int[3];

     a[1] = new int[5]; 

如:int a[][] = {{2,3}, {1,5}, {3,4}}; 

Java 面向对象编程思想

之前的语言,都采用“面向过程”的开发思路。从 SmallTalk 以后,出现了“面向对象”的思考方式。面向过程:写代码之前,先画流程图,先把整个流程搞清楚,然后在考虑具体流程中每个代码如何编写。先考虑全局

面向对象:写代码之前,先画类图,先把每个类内容功能考虑清楚,在根据逻辑灵活调整方法调用。先考虑局部  

面向对象编程的特点

抽象、封装、继承、多态

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

法哥2012

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值