前言:计算机语言=语法+逻辑
一、Java与C++的不同
1、Java是目前运用最广的项目语言,代码稳定性、生产力远超C++;
2、Java拥有强大的开源开发工具以及庞大的开源共享库;
3、Java拥有世界上最多的程序员,最不缺人,但又需求旺盛;
4、Java是一种解释性语言,需要JVM去解释,并且严格区分大小写。
二、程序的输出
其中:
①class:关键字,表示“类”,后面跟着类名;
②main()方法的格式是固定的,表示程序的入口;
③“[]”位置可以在“args”前也可在后,“args”是可任意改变的;
④换行方式:可以通过“println”或与C++相通的方式控制,输出结果如下
⑤一个源文件可以有多个类,但只能有一个类使用public声明,且此类类名与源文件类名相同。
三、注释
1、单行注释:以“//”开头,后可加注释信息,但只能注释一行代码。例如
2、多行注释:以“/*”开头,以“*/”结尾,可以在多行代码间注释信息,也可以在不影响运行的情况下保留代码。例如
3、文档注释:Java特有的注释,以“/**”开头,以“*/”结尾。可生成一套网页提供程序说明。例如
四、标识符与关键字
1、标识符:Java中变量、方法、类等要素命名时使用的字符序列
(凡是可以自己起名字的地方都叫标识符)
标识符的命名规则:
①可以由26个英文字母大小写,数字,下划线或$组成
②不能用数字开头(与C++不同)
③Java中严格区分大小写,长度无限制
④标识符中不能包括空格
⑤不可以使用关键字和保留字,但可以包含。
2、关键字:被Java定义了特殊含义,有专门用途的字符串(或单词)
官网讲解:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/_keywords.html
注意:①全部的关键字均是小写字母;
②关键字一共有50个,其中const和goto是保留字
③true、false、null看起来像关键字但不是,属于字面量,表示特殊的布尔值和空值。
④ 在Java中有一些C++中没有的关键字,例如:final、abstract、interface等。
五、数据类型
1、基本数据类型(四类八种)
①整数和小数取值范围大小关系 :double > float > long > int > short > byte
②long类型变量:需要加入L标示(大小写都可以)
③float类型变量:需要加入F标识(大小写都可以)
④布尔类型(boolean)只有true和false,直接定义即可;
2、引用数据类型
字符串类型:String,S要大写。
六、流程控制语句
1、顺序结构
与C++没有太大差别,按照代码先后顺序,从上到下依次执行
2、分支结构
①if-else
(1)由上到下逐项执行,为true时直接运行,不在进行之后分支,属“多选一”。当多个条件表达式之间存在包含关系,范围小的条件表达式要声明在范围大的上面,否则小的不可能被执行
(2)Java中的条件表达式必须是布尔类型(非真即否),而C++中可以是任何类型。
②switch-case
(1)首先计算表达式的值,依次和case后面的值进行比较,如果有对应的值,就会执行相应语句,如果所有的case和表达式的值都不匹配,就会执行default里的语句体,然后结束switch
(2)Java中的switch语句中必须有break语句来结束每个case分支,否则会继续执行下一个case分支。
3、循环结构
Ⅰ.循环四要素:
①初始化条件
②循环条件→一定是布尔类型boolean的变量或表达式
③循环体
④迭代部分
Ⅱ.循环语句:break语句: 终止本次循环
continue语句:跳过本轮循环 (继续下一轮)
注:label标签的使用
(1)for循环(反复执行①→②→③→④,直到不满足④)
for(①;②;④){③}
(2)while循环(反复执行①→②→③→④,直到不满足④)
①
while(②){③;④}
(3)do-while循环(必先执行一次,然后反复执行①→③→④→②,直到不满足④)
①
do{③;④}
while(②)
七、数组
1、特点(简):
①数组一旦初始化完成,其长度便是确定的 ,数组的长度一旦确定,就不可修改(与C++不同的是,在Java程序中声明数组时,无论用何种方式定义数组,都不能指定其长度。如以“int a[5];”方式定义数组将是非法的,该语句在编译时将出错,)
②在定义时,都要有new来创建,例如 string[] func = new string[]{1,2,3};
注:Ⅰ.其他正确创建,如 int arr[] = new int[4];(类型推断式创建) int[] arr = {1,2,3,4}
Ⅱ.错误创建:除了列出的正确的都是错的,如 int[] arr =new int[4] {1,2,3,4}
③JAVA语言中规定了一种锯齿数组,就是每行元素个数可以不一定严格对称
④数组名中引用的时这块连续空间的首地址
2、一维数组的声明和初始化
①静态初始化(数组变量的赋值与数组元素的赋值操作同时进行)
数据类型[] 变量名 = new 数据类型[]{元素1,元素2,元素3…};
②动态初始化(数组变量的赋值与数组元素的赋值操作分开进行)
数据类型[] 变量名 = new 数据类型[n];(n为常数)