本篇论述的问题
- java基础语法概念:标识符、关键字、常量、变量、注释、访问控制符、转义字符;数据类型、运算符、表达式,以及相关示例代码;
- java流程控制语句:顺序、选择、循环;
一、基础语法概念
1、标识符
- 概念:标识符是指给java程序的包、方法、变量取的名字。(就类似给人取名张三、李四…,这个名字不能随便取,要看是否大吉。所以,java的取名也有自己的讲究,就是其组成规则)
- 规则:标识符只能由字母、数字、下划线、美元符号组成。注:不能以数字开头,不能是java中的关键字,不能包含空格,区分大小写(A和a是不一样的)。(偷偷告诉你,其实还可以取中文名,但基本没人那么干。。。)
- 常用命名规则:包名(全部小写,多级包用点号.隔开,例如com.qinyan.learn),类名、接口名(单词首字母大写,例如:Doctor,CatWithDog),方法名(首单词全部小写后续单词首字母大写,例如:cureAnimal),常量(全部大写,例如:DATE),项目名(全部小写,多个单词用-分隔,例如learning-java)
package cn.basic;
public class App
{
private String $money_02 = "有钱了";
protected int getA = 2;
protected int geta = 2; //大小写有区分
private String 我 = "";//没人那么干
public static void main( String[] args )
{
Doctor doctor = new Doctor();
doctor.cureAnimal("安静下来了!");
}
public interface CatWithDog{
void cureAnimal(String param);
}
public static class Doctor implements CatWithDog{
@Override
public void cureAnimal(String param) {
System.out.println(param);
}
}
}
2、关键字
- 定义:被java语言赋予了特殊含义,用作专门的用途。不能用作标识符名称。
- Java的关键字如下:
3、量,访问控制符,注释,转义字符;数据类型,运算符,表达式
- 量:分为变量和常量。常量指经定义后就不能改变的量,需要使用常量时,通常在程序开头就做定义,使用final关键字来定义常量,final定义基本数据类型,保证引用地址和内容皆不变,但修饰引用变量时,只能保证引用地址不变,内容可变,常量一般全用大写表示;变量,指程序运行中,某个范围内可变的量,本质上是内存上的一块区域,变量按照定义的位置,可分为类变量(static修饰,属于类的变量,通常被声明为常量,声明为变量时,和实例变量一样具有默认值)、实例变量(声明在方法中,也叫成员变量,在new对象时创建,对象销毁时销毁)、局部变量(声明在方法中,在方法块执行时创建,执行结束销毁);
- 访问控制符:private(类内可访问,),不写控制符(默认,同一包下,可访问),protected(默认,包内及其子类可访问),public(所有类可访问)。
- 注释:单行注释(//注释文字),多行注释(/* 注释文字 */),文档注释(/ * * 注释文字 * /)
- 转义字符是具备特殊含义,不同于原有意思,转义字符以反斜杆开头:
常见一些转义字符 \n:回车,\f 换页,\r当前本行开头;一些特殊字符也需要进行转义:( [ {^-$|}]?*+. - 数据类型:分为基本数据类型(八种)和引用类型(数组、接口、枚举、类)。
- 运算符:算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、三目运算符;
- 表达式:使用运算符将常量或变量用运算符连接起来构成表达式。
public class demo {
public static final int CONSTANT = 99; //类常量
private String name; //成员变量
protected Long age ;//访问控制
String address; //默认访问控制
/**
* 文档注释
* @param info
* @return
*/
public int output(String info,int a){//局部变量
/*
* 多行注释
* */
int b = 0; //基本类型之一,整型
int sum = 0;
System.out.println(info+"\n");//转义字符
if(a>b){ //比较运算符:> 、<、=、>=、<=、!=、==、instanceof(引用类型判断)
Test test = new Test();
if (test instanceof Test){
sum = a+b; //算术运算符:+、=、*、/、%(取余)、++、--
sum %= sum;
}
}else {
sum+=a; //赋值运算符:
}
return sum;
}
public class Test{ //类,引用类型
int m;
}
}
二、流程控制
java流程控制三种结构:顺序、选择、循环
1、顺序结构
- 程序按照书写顺序依次往下执行:
public static void order(){
System.out.println("执行语句1");
System.out.println("执行语句2");
System.out.println("执行语句3");
}
执行结果:
2、选择结构
选择结构,按照逻辑判断语句,进行程序执行顺序。选择结构有:if,if-else,if -else if -else,switch;
public static void select(Integer param){
double flag = 0.55;
//结构1
if(param>0){
System.out.println("第一种if");
}
//结构2
if (param>flag){
System.out.println("参数过大");
}else {
System.out.println("参数正确");
}
//结构3
if(param==0){
System.out.println("参数为0");
}else if(param>0){
System.out.println("参数大于0");
}else {
System.out.println("参数小于0");
}
//switch分支
switch (param){
case 0:
System.out.println("参数为0");
break;
default:
System.out.println("参数不为0");
break;
}
}
3、循环结构
循环结构就是在满足某一个条件情况下,一直执行某一操作;包括while循环、do-while循环、for循环、forearch循环;
public static void cycle(){
int flag = 100;
int sum = 0;
int origin = 0;
int[] data = {0,1,2,3};
//while循环,直接判断,不满足条件不执行循环体
while(origin>flag){
origin++;
sum +=origin;
}
//do while循环。至少执行一次
do{
origin++;
sum += origin;
}while (origin>flag);
//for循环
for(int i=origin ; i<flag ; i++){
sum+=i;
}
//forearch循环.只能用在引用类型中
for (int j : data){
System.out.println(j);
}
}