Java基础语法
1. 标识符、变量、数据类型和表达式
Java类的名称,方法的名称,变量的名称等都是标识符
命名规范:字母、数字、下划线、$(有时在文件名中有$,在程序中统一使用.表示)组成,其中不能以数字开头,标识符不能是java中的保留字(关键字),标识符的长度不限。
保留字:java有49个保留字,还有一些特殊意义的词,不是保留字,但是也不能作为标识符。比如:true,false,null等。
1〉 数据类型
(1) java的数据类型分两类
基本数据类型
数值型 整形 byte short int long
小数 float double
字符类型 char
布尔型 boolean(取值分别为true和false)
引用数据类型
数组,类,接口
(2)数据的操作会存在溢出
public class SimpleDemo01 {
public static void main(String args[]){
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
System.out.println("int 最大值:"+max);
System.out.println("int 最大值+1:"+(max+1));
System.out.println("int 最小值:"+min);
System.out.println("int 最小值-1:"+(min-1));
}
}
(3)数据默认的类型
整型数据默认的类型int,小数默认double
public class SimpleDemo02 {
public static void main(String args[]){
float f = 2.3f;
System.out.println("f = "+f);
}
}
(4)数据类型的转换
在java中存在以下类型转换
char—〉int 相互转换 ASCII码
public class SimpleDemo03 {
public static void main(String args[]){
char c1 = 'a';
int x1 = c1;
char c2 = (char)x1;
System.out.println("x1:"+x1);
System.out.println("c2:"+c2);
}
}
byteshortintlong(在整型类型中,各种整型类型之间的转换规则)
intfloatdouble double类型的数据所占内存长度最大
注意:如果在转换时碰到字符串,则所有的类型均转化为字符串
public class SimpleDemo04 {
public static void main(String args[]){
String str = "hello";
int i = 10;
System.out.println(str+i+20.0);
}
}
此时没有执行算术运算中的加法运算,而是将数字转换为字符串“+”运算符表示的是字符串连接操作。
如果希望实现先算i+20.0这个算术运算,则应该写为System.out.println(str+(i+20.0));
2〉 变量
程序执行中数值可变的数据称为变量,变量包括变量名称和变量的值
注意:变量名称不能重复,大小写敏感(Student和student的意义不一样),变量要先定义后使用。
3〉 Java运算符
和c语言一样
4〉 表达式
由运算符和操作数组成的式子
5〉分支,循环结构
2. 数组
数组属于引用数据类型,使用时需要开辟内存空间。
1> 数组的声明
类型 数组名[] 或 类型[] 数组名
int a[]; int[] a;
public static void main(String args[])
public static void main(String[] args)
不允许定义为int a[10],这样的写法是错误的
在java语言中生命数组时不允许指定其长度,只有在用new运算符开辟空间时才需要指定数组大小
。在声明的同时直接开辟内存空间
int a[10];
int a[] = new int[10] 或者 int[] a = new int[10];
。先声明数组,后开辟空间(分布声明)
声明: int a[]; int[] a;
开辟空间:(实例化数组) a = new int[10]; a = new int[10];
。为数组元素赋值:采用下标方式引用数组的元素
public class ArrayDemo01 {
public static void main(String[] args){
int a[] = new int[10];
System.out.println("数组开辟后的内容:");
for(int i=0,j=0;i<10;i++){
a[i] = j++;
System.out.println(a[i]+",");
}
}
}
2> 二维数组
定义和一维数组一样,只是维度不一样
int[][] a int a[][]
3. 方法(函数)
方法是一段可以重复调用的代码段,单独的方法一边是由主方法main直接调用的。
1〉 格式
public static 返回值类型 /void 方法名(参数列表){
方法体;
}
public class MethodDemo01 {
public static void printH(){
System.out.println("Hello world!!!");
}
public static void main(String[] args){
printH();
printH();
printH();
}
}
例子:完成一个加法运算
public class MethodDemo02 {
public static int add(int x,int y){
int c;
c = x+y;
return c;
}
public static void main(String[] args){
int a,b;
a = 5;
b = 8;
System.out.println(add(2,3));
System.out.println(add(4,5));
System.out.println(add(a,b));
}
}
上面的程序完成是两个数的求和运算
现在希望在前面的基础上,主程序中还可以求解三个数和的运算
public class MethodDemo02 {
public static int add(int x,int y){
int c;
c = x+y;
return c;
}
public static int add(int x,int y,int z)
{
int s;
s=x+y+z;
return s;
}
public static void main(String[] args){
int a,b;
a = 5;
b = 8;
System.out.println(add(2,3));
System.out.println(add(4,5));
System.out.println(add(a,b));
System.out.println(add(1,2,3));
}
}
方法的重载:
在同一个程序中,方法的重载指的是方法名称相同,但是方法的特征不同
什么叫方法的特征不同?
方法的特征包括:参数的类型,参数的个数
在上面程序中要增加对两个小数的求和,则应对方法add再次重载
public class MethodDemo02 {
public static int add(int x,int y){
int c;
c = x+y;
return c;
}
public static int add(int x,java变量的数据类型分为两种int y,int z)
{
int s;
s=x+y+z;
return s;
}
public static float add(float x,float y){
float z;
z = x+y;
return z;
}
public static void main(String[] args){
int a,b;
a = 5;
b = 8;
System.out.println(add(2,3));
System.out.println(add(4.4f,5.5f));
System.out.println(add(a,b));
System.out.println(add(1,2,3));
}
}
重载实际上在目前我们接触到的java程序中,实际上我们是一直接触的
System.out.println(add(1,2,3)); 此处的参数是整数。表示输出整数
System.out.println(add(4.4f,5.5f)); 此处的参数是小数(实数),表示输出实数
System.out.println("Hello world!!!"); 此处的参数是字符串,表示输出字符串
方法名称都为println(),参数有时为整数,有时为实数,有时为字符串。Println()函数可以接受任意类型的参数,所以此方法也属于重载。
如何考察方法的重载:
方法的重载考察仅仅只是参数的个数及参数的类型。而对于返回值的类型是否相同不做考察(也就是说返回值不同不是重载)
public static int add(int x,int y){
int c;
c = x+y;
return c;
}
public static float add(int x,int y){
float c;
c = x+y;
return c;
}
上面的两个方法,名称相同,参数的个数相同,参数的类型相同,则此两种方法认为是同一个方法,不是重载。虽然他们的返回值不同,但是不做考虑。
附加:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论