Java基本语法

Java


一、常量与变量的定义


常量的定义规则:final 类型 常量名=值;

  • final String LOVE="YOU";
  • final double PI=3.14;

常量名一般使用大写字符

变量的定义与初值赋值规则:数据类型 变量名=值;

  • int a=(b=0);
  • double c=0.0;
  • boolean d=false;

允许英文字符、下划线和数字,数字在非开头位置
标识符区分大小写,不重不关键字


二、运算符和表达式


算术运算符:+、-、*、/、%(求余)、++(自增)、--(自减)

int a=5; 
int b=++a;     

a=6 ; b=6

int a=5;
int b=a++;

a=6 ; b=5

赋值运算符:=(赋值)、+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、%=(模等于)

b+=a —>b=b+a
b-=a —>b=b-a
b*=a —>b=b*a
b/=a —>b=b/a
b%=a —>b=b%a

布尔运算符:==(相等)、!=(不等)、>、<、>=、<=、&&(与)、||(或)、!(非)、^(异或)

位运算符:
位逻辑运算符:&(按位与)、|(按位或)、~(按位非)、^(按位异或) 移位运算符:<<(左移位)、>>(右移位)、>>>(无符号右移位)

条件运算符:布尔表达式 ? 表达式1(true) : 表达式2(false)

String s=(2>1) ? "2大于1" : "2不大于1";  

运算符优先级:

⒈ )、(  
⒉!、+(正)、-(负)、++、--
⒊*、/、%
⒋+(加)、-(减)
⒌<、<=、>、>=
⒍==、!=
⒎^
⒏&&
⒐||
⒑?:
⒒=、+=、-=、*=、/=、%=

关于运算符


三、类型转换


自动类型转换:

1.目标类型与源类型兼容(double兼容int)

    int a=0;
    double b=a;

2. 目标类型大于源类型(低精度赋给高精度,返回值为高精度)

强制类型转换: (目标类型)+想要转的值

    int a=0;
    double b=9.6;
    a=(int)(b+0.5); //实现四舍五入  
  • 对于程序中出现的数字,若是整数,java会当作int类型处理;对于浮点数,则用double类型处理
  • 强制类型转换运算的优先级高于算术运算
  • 浮点数的比较用差的绝对值小于某精度表示

四、注释的使用


文档注释:

/**    
*注释内容  
*注释内容  
*注释内容  
*/   

多行注释:

/*  
*注释内容  
*注释内容  
*注释内容  
*/  

单行注释:

//注释内容  

五、转义符


关于区别换行和回车:

 对比两次的输出结果  

 String s="22\r333";
 System.out.println(s);    


 String s="333\r22";
 System.out.println(s);  

我们键盘上的回车是\r\n组合


六、流程控制语句


  if (条件){
    执行
  }



  if (条件){ 
    执行
  }else{
    执行
  }



  while(条件){
    执行
  }



  do {
    执行
  }while (终止条件);  



  for (int i=0; i<5;i++){
    执行
  }

循环语句及if中创建的变量不可在循环体及if外使用

if-else中if创建的变量不可在else代码块使用

  switch (表达式值为整型或字符型) {
     case 1:执行;
     case 2:执行;
     case 3:
     case 4:
     case 5:
       执行;   //3,4,5情况的合并
     default:
       执行;
   }

continue和break根据需要使用


七、数组


1.一维数组

声明数组:数据类型[] 数组名;数据类型 数组名[];

int[] students;  
double  scores[]; 

创建数组:数组名=new 数据类型[数组长度];

students=new int[30];  
scores=new double[30];

数组赋值:数组名[下标]=值;

scores[0]=100;  

下标的值域为[0,n-1]

声明、创建合并:int[] students=new int[30];
声明、创建、赋值合并:int[] scores={100,91,96};其等价于:int[] scores=new int[]{100,91,96};

2.多维数组

声明并创建:数据类型[] 数组名=new 数据类型[行数][列数];

数据类型[] 数组名;
数组名=new 数据类型[行数][列数];

int[][] num=new int[2][3];  //两行三列数组  

赋值:

num[0][0]=0;
int[][] num={{0,0,0},{0,0,0}};  

定义不同列数的数组:

int[][] num=new int[3][];
num[0]=new int[2];
num[1]=new int[3];
num[2]=new int[4];  

数组的输出可用for循环实现
数组名.length用语获取数组长度

3.使用Arrays类操作数组

排序(升序):Array.sort(数组名);

import java.util.Arrays;
public class px {  
  public static void main(String[] args) {
    int[] scores={90,100,96,93,89};
    Arrays.sort(scores);
    for (int i=0;i<scores.length;i++) {
      System.out.println(score[i]);
    }
  }
}  

输出:

  89
  90  
  93
  96  
  100  

将数组转换为字符串:Arrays.toString(数组名);

import java.util.Arrays;
public static void main(String[] args) {
  int[] nums= new int[] {25,7,126,53,14,86};
  System.out.println(Arrays.toString(nums));
}  

输出:

 [5,7,126,53,14,86]  
4.使用foreach操作数组

foreach输出数组:

for (元素类型 元素变量:遍历对象) {  
  执行代码
}  

实例:

public static void main(String[] args){
 String[] words={"sunshine","cloud","rainbow"};
 for (String word:words){
   System.out.println(word);
 }
}  

输出:

sunshine
cloud
rainbow  

八、从控制台获取数据


实例:

package test;
import java.util.Scanner;//导入java.util.Scanner
public class Test {
 public static void main(String[] args){
   Scanner input=new Scanner(System.in);//创建Scanner对象
   System.out.println("请输入姓名,学号,分数");
   String name=input.next();//获取字符串
   int num=input.nextInt();//获取整数
   double score=input.nextDouble();//获取浮点数
   System.out.println(name);
   System.out.println(num);
   System.out.println(score);
 }
}
Share on : Twitter, Facebook or Google+