暑假发现自己在学校学过的Java语法知识基本忘光了,所以再简单快速过一遍并记下这个笔记,希望能加深一点印象,忘记了也方便自己查看。建议复盘的同学直接看菜鸟教程或者别的教程,俺这个单纯是无脑笔记,千万不要骂我
而且,由于本人的懒惰,很多代码会直接选择抄(划掉)网上的,但是抄的地方都在贴出来链接中了。
参考:
Java 基础语法 | 菜鸟教程 (runoob.com)https://www.runoob.com/java/java-basic-syntax.html
1、输入输出、转义字符、变量
输入输出
public class Main {
public static void main(String[] args) {
System.out.println("Hello");//输出
//输入
Scanner scanner=new Scanner(System.in);
int t1= scanner.nextInt();
float t2=scanner.nextFloat();
double t3= scanner.nextDouble();
}
}
转移字符:
\t :相当于一个tab的距离
\n :换行
\\ :输出\
\" :输出"
\r :是回车,将光标移到当前行的行首
变量和常量
具体查看下面的博客吧,懒得写了,而且大佬整理的好好直接拿来主义哈哈哈
Java基础知识点(变量和常量)_什么是常量和变量,关键字是什么-CSDN博客
小补充:
float和double的区别就是精度不同,会涉及到计算机组成原理,明白计算机存储数据的方式就明白精度的差别了。不明白也可以,记住就好了哈哈哈
下面图片中按正常计算结果n1是等于n2的,但是因为计算机底层采用二进制,但是有些带小数的十进制无法精准的转化为二进制,导致精度缺失,这也是计算机组成原理的知识。所以我们要注意一下比值采用==可能会出现错误结果的情况。
2、类型转换
自动类型转换
低精度向高精度的自动转换,高精度不能自动转化为低精度
- char int long float double
- byte short int long float double
对于byte,short,char三种类型而言,他们是平级的,因此不能相互自动转换,但是可以强制转换
强制类型转换
就是高精度强制转换成低精度
int i=99;
byte b=(byte)i;
char c=(char)i;
float f=(float)i;
这种转换会造成精度丢失或者数据溢出,不推荐
String类型转换
string 类型和int double float char类型的转换
【java】JAVA中int转String类型有三种方法_java int转string-CSDN博客
Java中String类型,int类型,double类型相互转换_string double-CSDN博客
public class Main {
public static void main(String[] args) {
int i=10;
double d = 10.0;
float f=10.0f;
String s1=i+"";
String s2=d+"";
String s3=f+"";
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
// -----------
String s="123";
int i1=Integer.parseInt(s);
float f1=Float.parseFloat(s);
double d1=Double.parseDouble(s);
System.out.println(i1);
System.out.println(f1);
System.out.println(d1);
//------------string 转 char
System.out.println(s.charAt(0));
System.out.println(s.charAt(1));
System.out.println(s.charAt(2));
}
}
输出结果:
3、switch if语句
switch case 语句
语法格式:
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
if语句
语法格式:
if(布尔表达式 1)
{
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else{
//如果以上布尔表达式都不为true执行代码
}
这俩个选择语句跟c++中的逻辑差不多,不做过多解释
4、循环
Java中有三种主要的循环结构:
- while 循环
- do…while 循环
- for 循环
while( 布尔表达式 ) {
//循环内容
}do {
//代码语句
}while(布尔表达式);
for(初始化; 布尔表达式; 更新) {
//代码语句
}
Java还有Java增强for循环语法,示例如下:
public class Test {
public static void main(String[] args){
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){
System.out.print( x );
System.out.print(",");
}
System.out.print("\n");
String [] names ={"James", "Larry", "Tom", "Lacy"};
for( String name : names ) {
System.out.print( name );
System.out.print(",");
}
}
}
5、数组
声明数组
dataType[] arrayRefVar; // 首选的方法
或者用:
dataType arrayRefVar[]; // 效果相同,但不是首选方法
这个方法是为了c++语言转Java的程序员能更快理解Java语言的。
创建数组
语法格式:
dataType[] arrayRefVar = new dataType[arraySize];
dataType[] arrayRefVar = {value0, value1, ..., valuek};
示例:
public class Main {
public static void main(String[] args) {
int[]arr=new int[3];
arr[0]=1;
arr[1]=2;
arr[2]=3;
String[]strArr={"aa","bb","cc","dd"};
}
}
数组的访问是通过下标进行访问的,和C++一样,下标从0到数组length-1
数组的遍历
1、利用for循环,通过遍历下标来对数组进行遍历
2、for each语法,即加强循环语法,可以不通过下标来对数组进行遍历
多维数组
跟上面一维数组的逻辑相似
6、方法
方法是程序中最小的执行单元。在我的理解是跟C++中的函数概念相似
方法格式
这里是黑马的学习笔记,但是感觉好累赘,不适合有基础的宝子复习去看。
1、最简单的方法的定义
public static void 方法名(){
方法体;
}
调用直接是 方法名();
2、带参数的方法定义
public static void 方法名(参数1......){
方法体;
}
3、带返回值方法的定义
方法重载
方法名相同,但是参数列表不同的方法就叫方法的重载,与返回值无关。这些同名的方法具有相同的功能。
7、类和对象
可以直接查看下面廖雪峰官方网站中的总结,很清晰直接。
面向对象基础 - Java教程 - 廖雪峰的官方网站 (liaoxuefeng.com)https://liaoxuefeng.com/books/java/oop/basic/index.html下面开始我的胡乱笔记行为。
Java是面向对象编程的。
在Java中必须先设计类,才能获得对象。
定义类
注意点:
- 一个Java文件可以定义多个class,而且只能有一个类是public修饰,而且public修饰的类名必须成为代码文件名。
- 成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值; 一般无需指定初始化值,存在默认值。
- 类名命名建议为大驼峰命名模式
总结
这里有关Java的笔记都是比较浅层的,我的目的就是快速了解一下Java这门语言的基本知识。
学疏才浅