目录
基础语法
常量数据:
在Java中的常量数据大致有:整数、字符串、小数、字符、布尔和空常量,例如1就是一个整数常量,而3.14就是一个小数常量,“吃饭”就是一个字符串常量,而‘a’就是一个字符常量。
基本数据类型:
Java中的基本数据类型分布以及它们的内存占用情况(字节)如下表所示:
数据类型 | 内存占用 |
byte | 1 |
short | 2 |
int | 4 |
long | 8 |
char | 2 |
float | 4 |
double | 8 |
boolean | 1 |
变量:
变量是Java中用于记录数据存储位置的标准,例如我们有一个常量数据1要存储到内存中,当我们把1放进去后,将这段内存赋予一个名字,以便我们日后好去操作,这就是变量的意义。变量的定义是:数据类型+变量名=要存储的数据;
其中有4个注意事项:1、变量不能重名;2、long类型变量要在数据后加上L;3、float类型变量要在数据后加上F;4、变量要先定义后使用。
long a = 100000000000L;
System.out.println(a);
float b = 3.14F;
System.out.println(b);
其中我们对变量、方法起名使用小驼峰命名法,而对类起名用的是大驼峰命名法。
类型转换:
对于不同的数据之间会发生一种叫做类型转换的行为。其中这种行为分为自动类型转换和强制类型转换。自动类型转换是指我们将表示数据范围小的数据赋给数据类型大的变量时,会发生数据类型转换的现象,其中这种转换是自动的。例如我们将10赋予给一个double类型的变量a时,输出a会得到10.0,因为10的数据类型小,而double是小数,他的数据类型大,所以会发生自动类型转换。而强制类型转换可以在任意数据类型之间变化。
注意,如果在一个表达式中有多个数据类型不同的变量参与运算,那么此时式子就会发生类型变化,按照:byte、char、short-->int-->long-->float-->double的顺序对参与运算的变量进行数据类型提升。
public class App {
public static void main(String[] args) throws Exception{
int a = 10;
char b = 'a';
System.out.println(a+b);
}
}
例如上面的代码的输出结果就是107,因为char类型和int类型运算时发生了自动类型转换,而‘a’的ASCII码值是97,再加上变量a的值10,所以输出int类型数据107。
相似地,如果我们将10和13.14相运算,输出的结果就会被自动转化为double类型,所以不能用int类型变量接受了。
+号运算符:
在Java中的+号运算符,既可以表示数字相加,也可以表示字符串相拼接,并且还可以将整数和字符串拼接。注意+号是从左到右运算,这就表明了1+1+“str”和“str”+1+1不同,前者是2str,后者是str11:
public class App {
public static void main(String[] args) throws Exception{
int a = 10;
char b = 'a';
String str1 = "abc";
String str2 = "cd";
System.out.println(str1+str2);
System.out.println(str1+a);
}
}
例如上面的程序第一个就是将两个字符串拼接,第二个就是将字符串和数字进行了拼接。下面图片是终端输出结果:
随机数:
随机数的产生得益于Random包的使用,我们可以通过导入Random包来产生一个生成随机数的类,这个步骤共分为三步:
1、导入包:
import java.util.Random;
2、创建对象:
Random ram = new Random();
3、接收数据:
int get = ram.nextInt(20);
程序结构
程序输入与输出:
程序的输入共有三步:1、导入包;2、创建对象;3、调用方法输出数据
1、导入包:
import java.util.Scanner;
2、创建对象:
Scanner sc = new Scanner(System.in);
3、输出数据:
int ret = sc.nextInt();
程序的输出直接调用类System里的输出方法即可:
System.out.println(要输出的内容);
分支、循环结构:
Java中的if语句和switch语句的语法是和C语言中的if语句一样的:
if选择:
int a = 10;
if(a>10)
{
System.out.println(a);
}
else if(a==10)
{
System.out.println(a+2);
}
else
{
System.out.println(a+1);
}
for循环:
int a = 10;
for(int i =0; i <10;i++)
{
a+=1;
}
System.out.println(a);
高级数据类型
数组:
Java中的数组初始化有两种方式,第一种是动态初始化,第二种是静态初始化。值得注意的是,两种数组的开辟方式都是在堆区开辟数据的,只不过静态初始化时省略了new关键字的使用。
动态初始化:动态初始化指的是数组初始化时不给数组指定的数据内容,此时数组的数据内容都是未定的,一般是0。
int b[] = new int[5];
静态初始化:静态初始化指的是数组初始化时给数组指定数据内容。
int a[] = {1,2,3,4,5};
方法
Java中的方法的概念与其他语言中的函数功能比较类似,在Java中方法的定义方式如下,并且各部分都与其它语言中的类似,有返回值、输入形参和内容等。只不过这个方法的定义需要在总的模块的类里面。它有些注意事项也和其它的语言中的函数类似:不能反复嵌套定义,void不能返回数据等。
public static 返回值类型 方法名(形参){
//方法实现return 返回值
}
例如下面就是一个方法的具体实例:
public class App{
public static void main(String[] args){
int a = 10;
a = func(a,a+2);
System.out.println(a);
}
public static int func(int x, int y){
x = y + 100;
return x;
}
}
方法重载:
所谓的方法重载,可以简单理解为对于同一个类中的方法可以重名。我们知道,方法之间名字一般是不同的,如果有两个重名的方法的话计算机不知道当我们调用方法时使用的是哪一个方法。但是方法名可以重复,这就对应着方法的重载,方法重载需要满足:
1、重名方法位于同一个类;
2、重载的方法名要相同;
3、重载的方法形参的数目或者数据类型需要有一项不同,返回值的差异不能作为方法重载的条件。