Java基础知识点,Java基础知识
Java基础知识点,Java基础知识
背景
Java 1995诞生sum -> oracle(2009)
核心基础Java SE--面向对象,API,JVM
Java EE -- JSP,EJB,服务
Java ME -- 移动设备,游戏,通信
jvm(java virtual machine)
源文件.java -> comoiler(编译器) -> 字节码文件.class -> interpreter(解释器) -> my program
新鲜的鱼 -> 菜刀处理 -> 鱼块 -> 锅烹饪 -> 红烧鱼
JDK(java development kit)Java开发工具包
JRE(java runtime environment)Java运行时环境
JDK > JRE >JVM
java中关键字
常用的关键字(严格区分大小写):
abstract | boolean | break | byte | case | catch | char | class |
continue | default | do | double | else | extends | false | final |
finally | float | for | if | implements | import | instanceof | int |
interface | long | native | new | null | package | private | protected |
public | return | short | static | super | switch | synchronized | this |
throw | throws | transient | true | try | void | volatile | while |
标识符
用于给java程序中变量、类、方法等命名的符号
标识符可以由字母、数字、下划线、美元符组成,不可以包含其他特殊字符,不能数字开头,不能是关键字,严格区分大小写,要有很好的语义化
变量
java中通过三元素描述变量:变量类型、变量名、变量值
String love = "bert";
优秀的变量命名规范
驼峰命名法:第一个单词首字母小写,其后单词首字母大写
数据类型
变量的存储讲究"分门别类"
java语言是一种强类型语言,在编译时就需要确定变量的类型,一共有两种数据类型:基本数据类型&引用数据类型
基本数据类型(存储的是数据的本身):整数型(byte,short,int,long)浮点型(float,double)字符型(char)布尔型(boolean)
引用数据类型(存储数据的空间地址):类(class)接口(interface)数组
变量的使用规则
- 先申明再使用
- 申明变量时可以一并初始化,也可以后赋值
- 变量中每次只能赋一个值,但可以多次修改
- main方法中的变量输出前必须先赋值
自动类型转换
不同的基本数据类型之间可以相互转换,但这是需要一定条件的。
目标类型和源类型兼容,double兼容int,char不兼容int。
目标类型大于源类型,这比较的是类型长度,double类型的变量就可以存放int类型的数据
常用的数据类型长度
强制类型转换
将double类型变量值赋给int类型变量
double num1 = 99.9;
int num2 = (int)num1;
System.out.println(num2); //99
强制类型转换可能会导致数据的丢失。
常量
常量在程序运行时不允许被更改,常量名使用大写字符。
java获取用户输入的值
使用Scanner工具类来获取输入的值
Scanner类位于java.util包中,使用时需要导入此包
步骤:
数组
java中操作数组只需四个步骤:
1 申明数组
数据类型[] 数组名;
数据类型 数组名[];
int[] scores; //存储学生成绩的数组,类型为整型
double height[]; //存储学生身高的数组,类型为浮点型
String[] names; //存储学生姓名的数组,类型为字符串
2 分配空间
指定数组中最多可存储多少个元素。
scores = new int[5];
height = new double[5];
names = new String[5];
1,2合并 声明同时分配空间
int[] scores = new int[5];
3 赋值
分配空间之后就可以在其中存放数据了。
scores[0]=100;
scores[1]=99;
4 处理数组中的数据
System.out.println("score数组中第九个元素的值:"+scores[8]);
java中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成。
int[] scores = {100,99,98,97,96};
等价于:
int[] scores = new int[]{100,99,98,97,96};
这里new之后的[]必须为空,不能指定长度。
Arrays类操作java中数组
Arrays类由java.util包中提供,这个类包含了一些方法用来直接操作数组。
Arrays中常用的方法:
1 排序
Arrays.sort(数组名);
可以使用 sort( ) 方法实现对数组的排序,只要将数组名放在 sort( ) 方法的括号中,就可以完成对该数组的排序(按升序排列)。
前提是需要import java.util.Arrays;
2 将数组转换为字符串
Arrays.toString(数组名);
import java.util.Arrays;
public class Test{
public static void main(String[] args){
// 定义一个字符串数组
String[] hobbies = { "sports", "game", "movie" };
// 使用Arrays类的sort()方法对数组进行排序
Arrays.sort(hobbies);
// 使用Arrays类的toString()方法将数组转换为字符串并输出
System.out.println(Arrays.toString(hobbies));
}
}
foreach操作数组
foreach不是java中关键字,只是for语句的特殊简化版本。
语法:
for(元素类型 元素变量:遍历对象){
执行的代码;
}
举个栗子
public class Test{
public static void main(String[] args){
int[] nums={1,2,3};
System.out.println("***使用for循环遍历数组***");
for(int i=0; i<nums.length; i++){
System.out.println(nums[i]);
}
System.out.println("***使用foreach循环遍历数组***");
for(int number:nums){
ystem.out.println(number);
}
}
}
二维数组
操作二维数组步骤:
1 声明数组并分配空间
数据类型[][] 数组名 = new 数据类型[行的个数][列的个数];
or
数据类型[][] 数组名;
数组名 = new 数据类型[行的个数][列的个数];
2 赋值
数组名[行的索引][列的索引] = 值;
也可以声明数组的同时为其赋值。
数据类型[][] 数组名 = {{值11,值12,...},{值21,值22,...},{值31,值32,...}...};
3 处理二维数组
在循环输出时,需要里面再内嵌一个循环,即使用二重循环来输出二维数组中的每一个元素。
int[][] nums = {{1,2,3},{4,5,6}};
for(int i=0; i<nums.length; i++){
for(int i=0; j<nums[i].length; j++){
System.out.println(nums[i][j]);
}
}
Java中的方法
所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块。
一般情况下,定义一个方法的语法:
访问修饰符 返回值类型 方法名(参数列表){
方法体;
}
其中
1 访问修饰符
方法允许被访问的权限范围,可以是public、protected、private甚至省略,
2 返回值类型
如果方法不返回任何值,则返回值类型指定为void;如果方法具有返回值,则需要指定返回值类型,并在方法体中使用return语句返回值。
3 方法名
定义的方法的名字,必须使用合法的标识符
4 参数列表
传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开
方法的使用分两步
第一步:定义方法
譬如,定义一个没有参数没有返回值的方法
public void showMessage(){
System.out.print("hardworking");
}
第二步:调用方法
当需要调用方法执行某个操作时,可以先创建类的对象,然后通过 对象名.方法名();
public static void main(String[] args){
personInfo bert = new personInfo();
bert.showMessage();
}
public void showMessage(){
System.out.print("hardworking");
}
没有参数有返回值的方法
public int calsSum(){
int a=5;
int b=12;
int sum=a+b;
return sum;
}
在calsSum方法中,返回值类型为int类型,因此在方法体中必须使用return返回一个整数值。调用带返回值的方法时需要注意:由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理。
public class HelloWorld{
public static void main(String[] args){
HelloWorld hello = new HelloWorld();
int sum =hello.calsSum();
System.out.print("两数之和:"+sum);
}
public int calsSum(){
int a=5;
int b=12;
int sum=a+b;
return sum;
}
}
有参数无返回值的方法
public class avgScore{
public static void main(String[] args){
avgScore hello = new avgScore();
hello.calcAvg(94, 81);
}
public void calcAvg(double score1,double score2){
System.out.println("avgScore is "+(score1+score2)/2);
}
}
可见,输出在方法中
带参数带返回值的方法
import java.util.Arrays;
public class HelloWorld {
public static void main(String[] args) {
HelloWorld hello = new HelloWorld();
int[] scores={79,52,98,81};
int count= hello.sort(scores);
System.out.println("gongyou"+count+"gescoreInformation");
}
public int sort( int[] scores ){
Arrays.sort(scores);
System.out.println(Arrays.toString(scores));
return scores.length;
}
}
方法的重载
定义
如果同一个类中包含了两个或两个以上方法名相同,但是方法参数的个数、顺序或类型不同的方法,称为方法的重载。
如何区分调用的是哪个重载方法呢?
当调用被重载的方法时,Java会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。
判断方法重载的依据:
相关文章
- 暂无相关文章
用户点评