- java是严格区分大小写的
- java是一种自由格式的语言
- 代码分为:结构定义语句和功能执行语句
- 功能执行语句的最后必须用分号结束
- java语句可分成多行书写,如:
public static
void main(
String args[]){} //每个单词之间、括号()、花括号{}、制表符之间可以换行书写,但是一个单词不可以分行书写
字符串也不可以分行书写如: print("你好,
早上好!") //这是错误的
如果想分行可以用‘+’连接后再分行,如print("你好,"+
"早上好!") - java程序有三种注释方式:
/ / 单行注释
/* */ 多行注释,之间不能再嵌套/* */注释,但是可以嵌套//和/*
/** */ 生成java文档的注释
java中的标识符
java中的包、类、方法、参数和变量的名字,可由任意顺序的大小写字母、数字、下划线(_)和
美元符号($)组成,但标识符不能以数字开头,不能是关键字。
java的关键字
注:java 无sizeof ,goto, const 关键字,但不能用goto const作为变量名
java中的常量
- 整型常量: 十进制(12) ,十六进制 (0x12)x也可以用大写的,八进制(012)
- 长整型常量: 13L //l也行
- 单精度浮点数: 5.1f,.4f ,2e3f ,0f //F也行
- 双精度浮点数: 5.1,.4,2e-3,0d //D也行,系统默认不带缀的浮点数为double型,如5.1为double型,而float a=5.1是会报错的
- 布尔常量: true和false
- 字符常量: 字符常量是由英文字母、数字、转义序列、特殊字符等的字符所表示,它的值是字符本身,字符常量要用两个单引括起来,用来表示单个字符。java中1个字符占用两个字节,是用Unicode码表示的,也可以使用Unicode码值加上“\u”来表示对应的字符。如 'a' '8' '\t' '\u0027'
‘a’ , ‘8’, '\u0027'
‘\r‘表示接受键盘输入,相当于按下了回车键;
‘\n‘是换行;
‘\t‘是制表符,相当于table键;
‘\b‘是退格键,相当于Back Space;
‘\‘‘是单引号,而‘\“‘是双引号;
‘\\‘是一个斜杠“\”。 - 字符串常量 字符串常量用双引号括起来
“Hello World“,”123”, "Welcome \nXXX" - null常量
null常量只有一个值,用null表示,表示对象的引用为空
变量
变量就是系统为程序分配的一块内存单元,用来存储各种类型的数据。根据所存储的数据类型的不同,有各种不同类型的变量。变量名代表这块内存中的数据 。
java的变量类型
变量字节大小及有效取值范围
在所有系统中,java变量的取值都是一样的,不像C语言在不同的系统中变量的取值范围不同。
- byte占用一个字节,数字大小为-2的7次方—2的7次方-1 (-128~127) //byte型通常用8进制、10进制、16进制,无论采用什么进制,输出到控制台时系统都会自动转换为10进制
- short占用两个字节,数字大小为-2的15次方—2的15次方-1 (-32768~32767)
- int占用四个字节,数字大小为-2的31次方—2的31次方-1 (-2147483648~2147483647)
- long占用八个字节,数字大小为-2的63次方—2的63次方-1
- float占用四个字节,数字大小为1.4E-45~3.4E+38 , -1.4E-45~-3.4E+38 。用二进制的指数形式表示一个浮点数的格式,如:101*2的2 次方 , 101*2的-3次方。 3.5E4=3.5*10的4次方 3.5E-4=3.5*10的-4次方
- double占用八个字节,数字大小为4.9E-324~1.7E+308, -4.9E-324~-1.7E+308 。
- char占两个字节,数字大小为0—2的16次方-1(0~65535)是unicode编码。字符的本来面目,与C语言不同,java的字符占两个字节,char类型用来存储诸如字母、数字、标点符号及其他符号之类的单一字符
- Boolean占一个字节,其取值只有两个,true和false。
类型转换
- 自动类型转换(也叫隐式类型转换)
- 强制类型转换(也叫显式类型转换)
表达式的数据类型自动提升
所有的byte型、short型和char的值将被提升到int型。,如byte b=2;b=b-1;这是错误的,因为表达式b-1在进行运算时,系统会自动把b的值提升为int型再和1相减,结果就是一个int型。
- 如果一个操作数是long型,计算结果就是long型;
- 如果一个操作数是float型,计算结果就是float型;
- 如果一个操作数是double型,计算结果就是double型。
System.out.println(‘a’+1) //输出98
System.out.println(“”+‘a’+1) //输出a1
变量的生命周期与作用域 变量要先定义,后使用,但也不是在变量定义后的语句一直都能使用前面定义的变量。我们可以用大括号将多个语句包起来形成一个复合语句,变量只能在定义它的复合语句中使用。
public class TestScope
{
public static void main(String[] args)
{
int x = 12;
{
int q = 96; // x和q都可用
int x = 3;//错误的定义,Java中不允许有这种嵌套定义
System.out.println("x is "+x);
System.out.println("q is "+q);
}
q = x; /* 错误的行,只有x可用, q 超出了作用域范围 */
System.out.println("x is "+x);
}
}
函数的定义:返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,….)
{
程序代码
return 返回值;
}
如果声明的函数是void类型的,则系统会在该函数的末尾加上‘return;’语句
注:return语句可放在任何地方,但是return后的语句不会再执行,如:
void abc(int x,int y)
{
if(x<=0||y<=0)
return; //结束运行此函数,用于非法数字传入的处理
其他语句;
}
在函数中使用return提前返回
函数调用的过程分析
函数的重载
函数的重载就是在同一个类中允许同时存在一个以上的同名函数,只要它们的参数个数或类型不同即可。 如:
public class Test
{
public static void main(String [] args)
{
int isum;
double fsum;
isum=add(3,5);
isum=add(3,5,6);
fsum=add(3.2,6.5);
}
public static int add(int x,int y)
{
reutrn x+y;
}
public static int add(int x,int y,int z)
{
return x+y+z;
}
public static double add(double x,double y)
{
return x+y;
}
}