Java基本语法

Java的常用格式:

[类修饰符] class <类名> {

public static void main(String[ ]args){

程序代码

}

}

 class前的修饰符可以省略,也可写成“public”。若写成“public”,则文件名必须与类名相同。

main前的修饰符必须是公有的、静态的和无返回值的。

main参数必须为String类型的数组,参数名字常写成“args”,写成“String[ ]args"或“String args[ ]”均可。

Java代码分为结构定义语句和功能执行语句,每条功能执行语句的最后都必须用分号(;)结束。

注:java语言是严格区分大小写的。

Java注释分为三类:

 单行注释: //

多行注释:/*......*/

文档注释:/**... *内容...*/

标识符和关键字:

Java规定:标识符由字母、数字、下滑线(_)和美元符号($)组成,第一个字符不能是数字,且不能是Java中的关键字。

例如:以下都是非法标识符:

#name  //#是非法字符

12sfsd  //不能以数字开头

double  //double是关键字

&name    //&是非法字符

hello world   //空格是非法字符

Java数据类型:

Java语言提供了8种基本数据类型:

      数值型 :(byte、short、int、long)

     实数型:(float、double)

     字符型(char)

     布尔型(boolean)

     注:Java程序中,long类型后面加‘L’,float类型后面加‘f’,double类型后面加‘d’,char类型是单引号,只有一个字符。

   例如:float d=1.5; /默认1.5为double类型,需要在后面加‘f’,double类型后面的‘d’可以不加,如:double=1.3;

    逻辑型(boolean):只有两个取值——true和false,默认为false。不同于C语言,它不可以用非0和0代表逻辑值真、假。

       

Java变量的类型转换:

(1)自动类型转换:

  1. 数据类型从小到大的顺序是:byte<short, char<int<long<float<double.
  2. 强制类型转换:两种类型互不兼容或目标类型取值范围小于源类型取值范围。 
double m=3.14;

//float p=m;  此处会出现编译错误,m为double类型占用空间64位,p为float类型占用空间34位,

            //大空间的值无法赋给小空间的值,出现错误。
float p=(float)m;  //强制类型转换

(2)表达式类型自动提升(取最高的运算类型).

  表达式是指由变量和运算符组成的一个算式。Java规定表达式中参与运算的变量类型至少是int型,如低于int型,则会被自动提升为int型。

如:

byte b1=1,b2=2,b3;

// b3=b1+b2; 此处的b1+b2类型自动上升为了int类型,b3为byte类型,无法赋值。
b3=(byte)(b1+b2);  //强制类型转换

方法重载:

Java允许在一个程序中定义多个名称相同的方法,但是参数的类型或个数不同。

Java不允许在语句块中定义与外部同名的变量。

1.除法运算符

     如果除法运算符两边都是整数.则表示两个数整除。否则表示正常的除法。例如,12/5为整数之间相除,会忽略小数部分,结果为2,而 12.0/5则表示正常的除法,结果为2.4。

2.求余运算符

    求余运算符又称为取模运算符,运算结果的符号与被模数(%左边的数)的符号相同,与模数(%右边的数)的符号无关。例如,(-8)%3=-2,8%(-3)=2。

3.自增、自减运算符

    自增、自减运算符为单目运算符,如果出现在变量之前(如++a或者--a),称为前置增减运算符;如果出现在变量之后(如a++或者a--),称为后置增减运算符。如果为前置运算符,则“先运算,后处理”;后置运算符,则“先处理,后运算”。

   赋值运算符和复合的赋值运算符的结合都是从右到左,将右边的表达式赋值给左边的变量:例如:X*=y+2;等价于X*=(y+2);

注:关系运算符其运算结果为布尔类型。

表2-7逻辑运算符

运算符

描述

范例

运行结果

!

逻辑非

!a

若a为true,则!a为false;若a为 false,则!a为 true

&&

逻辑与

a&&b

若a、b均为true,则结果为 true,否则结果为false

||

逻辑或

a ||b

若a、b均为false,则结果为 false,否则结果为true

     当进行&&运算时,如果左边表达式的值为 false,右边表达式将不会进行运算;当进行||运算时,如果左边表达式的值为true,右边表达式将不会进行运算,这种现象称为短路,所以|和&&又称为短路或和短路与。  

注:逻辑运算操作数针对布尔型。

        int x=0;
		int y=0;
		boolean m;
		m=(x>0&&y++>1);  //x>0不成立,m为false,&&后的将不用进行
		System.out.println("x="+x);   
		System.out.println("y="+y);

运行结果:

 

条件运算符:表达式1?表达式2:表达式3;

Switch语句:

Switch后挎号中的表达式必须为byte、char、short、int、string类型,不接受其他类型。

Case后是整数或字符,也可以是常量表达式,同一Switch语句的case值不能相同。

break语句的功能是执行某个case分支后,跳出Switch语句,终止Switch语句的执行。

  一维数组:(必须初始化后才可以使用)

表达式:  

type[ ] arrayName;或type arrayName[ ];   //type:数据类型  ,arrayName:数组名。

数组中的元素可以是任何的数据类型,包括基本数据类型和引用数据类型。

注:定义数组时不能够指定数组的长度。方法中定义一个值,必须初始化后才能使用。

静态初始化:arrayName=new type[ ]{元素1,元素2,....};

 //静态初始化:
 int[ ]array; array=new int[ ]{1,2,3};
 int[ ]array=new int[ ]{1,2,3}
 int[ ]array={1,2,3}

动态初始化:arrayName=new type[ length];  

  int [ ]arrayInt=new int[3];  //动态初始化一个能容忍三个int型数的数组。

  String[ ]arrayString=new String[3];  //动态初始化一个能容纳三个String值的引用类型数组。

   数组索引是从0开始的,最后一个元素的索引为数组的长度减1。数组名.length返回数组的长度。   

注:类名后无括号,方法名后有括号。局部变量无修饰符。

 二维数组:

表达式:

type [ ][ ]arrayName;

type [ ]arrayName[ ];

静态初始化:int Array=new int[ ][ ]{{80,55},{30,49,50}};

注:Java语言里,二维数组每一行存储的元素个数是可以不同的。

动态初始化:直接分配:

arrayName=new int[2][3];  //初始化举例(分配一个2行3列的二维数组);

从高维开始,分别为每一维分配空间。例如:

int[ ][ ] intArray;

intArray=new int[3][ ];  //先分配二维数组的行空间

intArray[0]=new int[2];  //然后分别为每行分配元素空间

intArray[1]=new int[2];

intArray[2]=new int[3];

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值