java学习之java笔记(二),
java学习之java笔记(二),
一、java基础语法
a、标识符(java语言中,对各种变量、方法和类等要素命名是使用的字符序列)
▶ 命名规则:标识符由字母、下划线“_” 、美元符“$”或数字组成,数字不能作为开头
▶ Java标识符大小写敏感,长度无限制
▶ 约定俗成:Java 标识符选取因注意“见名知意”且不能与 Java 语言的关键字重名
b、关键字(Java中一些赋以特定的含义,用做专门用途的字符串称为关键字)
▶ 所有Java关键字都是小写英文字符串
▶ goto和 const 虽然从未使用,但也作被为 Java 关键字保留
c、java基本数据类型
▶ java常量
Java 的常量值用字符串表示,区分不同的数据类型。如整型常量 123 实型常量 3.14 字符常量 ‘a’ 逻辑常量 true、false 字符串常量 “helloworld” null▶ java变量
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。 Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为: type varName [=value][{,varName[=value]}] 例如:int i = 100;
float f =12.3f;
fouble d1,d2=0.123;
String a="hello";
从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用
▶ java变量的分类
局部变量:方法或语句块内部定义的变量 成员变量:方法外部、类的内部定义的变量 注意:类外面(与类对应的大括号外面)不能有变量的声明按所属的数据类型划分: 基本数据类型变量 引用数据类型变量▶ java数据类型划分
▶ java基本数据类型范围
▶ java基本数据类型默认值
▶ java基本数据类型转换
java中可以从任意基本类型转型到另外的基本类型 例外 àboolean类型不可以转换为其他的数据类型。 转换分为默认转换和强制转换 整形,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则: 容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为: byte,short,char->int->long->float->double byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出(double转换成float会溢出);使用时要格外注意。 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。实数常量(如:1.2)默认为double。整数常量(如:123)默认为 int
▶ 多种数据类型的混合运算
有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算
d、运算符
Java 语言支持如下运算符: 算术运算符: +,-,*,/(整除),%,++,-- 关系运算符: >,<,>=,<=,= =,!=, === 逻辑运算符: !,& , | , &&,||(短路与/或) 位运算符: &,|,^(异或),~(取反) , >>,<<,>>>(无符号右移,用 0填充) 赋值运算符: = 扩展赋值运算符:+ =,- =,* =,/ = 字符串连接运算符:+//注意负数是以补码的形式存储,并且最高位用置1表示为负
补码=源码+取反+加一
e、表达式和语句
表达式是符合一定语法规则的运算符和操作数的序列 a 5.0 + a (a-b)*c-4 i<30 && i%10!=0 表达式的类型和值 对表达式中操作数进行运算得到的结果称为表达式的值。 表达式值的数据类型即为表达式的类型 表达式的运算顺序 应按照运算符的优先级从高到低的顺序进行 优先级相同的运算符按照事先约定的结合方向进行 条件语句 - 根据不同条件,执行不同语句 if if .. else if .. else if if .. else if .. else if .. else switch 循环语句 – 重复执行某些动作 for (JDK1.5语法) while do .. while;
f、循环
▶ for循环
for语句为如下形式:for(表达式1; 表达式2; 表达式3){ 语句;… ; } 执行过程
首先计算表达式1,接着执行表达式2,若表达式2的值 = ture,则执行语句,接着计算表达式3,再判断表达式2的值;依此重复下去,直到表达式2的值=false
for语句中三个表达式都可以省略
JDK1.5新补充的for语法(后面课程中补充,数组)
例:计算result = 1!+2!+……10!
public class Test {
public static void main(String[] args) {
long result = 0;
long f = 1;
for (int i = 1; i <= 10; i++) {
f = f * i;
result += f;
}
System.out.println("result=" + result);
}
}
▶▶▶while&do while语句
while(逻辑表达式){ 语句;… ; }
执行过程先判断逻辑表达式的值。若=true.则执行其后面的语句,然后再次判断条件并反复执行,直到条件不成立为止
do while 语句为如下形式:do { 语句; … ; } while(逻辑表达式);
执行过程先执行语句,再判断逻辑表达式的值,若为true,再执行语句,否则结束循环
▶switch语句
switch() {case xx :
….
case xx :
….
default:
….
Switch “()”里的值必须是int类型 但是byte,short,char是可以的,因为它们会自动转换成int
g、方法
▶Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,声明格式:[修饰符1 修饰符2 …] 返回值类型 方法名(形式参数列表){
Java语句;… … …
}
▶形式参数: 在方法被调用时用于接收外界输入的数据。 实参:调用方法时实际传给方法的数据。 返回值:方法在执行完毕后返还给调用它的环境的数据。 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。 ▶Java语言中使用下述形式调用方法:对象名.方法名(实参列表) 实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配,
return 语句终止方法的运行并指定要返回的数据
▶Java中进行函数调用中传递参数时,遵循值传递的原则:
基本类型传递的是该数据值本身。引用类型传递的是对对象的引用,而不是对象本身
h、变量的作用域
{ }内部
i、递归调用
递归调用指在方法执行过程中出现该方法本身的调用例如:求Fibonacci数列: 1, 1, 2, 3, 5, 8, …第40个数的值。数列满足递推公式:
F1 = 1, F2 = 1 Fn = Fn – 1 + Fn – 2 ( n > 2 )
例:
public class Test { public static void main(String arg[]) {
System.out.println(f(5));
}
public static int f(int n) {
if (n == 1 || n == 2) {
return 1;
} else { return f(n - 1) + f(n - 2);
}
}
}
相关文章
- 暂无相关文章
用户点评