java学习——基础语法篇(适合已经学过c++的人群)

本篇适合之前学过c和c++语言,现在要学java的人进行学习。由于之前学习过c++同为面向对象的程序语言,基础语法在相对比之下学习,对比c++与java的差异,会快速掌握基本语法。学编程语言,语法不是重点,用时即查,编程思路才是重点。

1.注释、标识符、关键字、数据类型,变量定义,运算符与c++基本一致

public class HelloWorld {
public static void main(String[] args) {
int a=1;
// int b=2;
char c='1';
long d;
}
}
public class HelloWorld {
    public static void main(String[] args) {
        int a=1;
//        int b=2;
        char c='1';
        long d;
    }
}
public class HelloWorld { public static void main(String[] args) { int a=1; // int b=2; char c='1'; long d; } }

int、char等定义变量,
//作为注释符号

2.数组的创建不同

public class HelloWorld {
public static void main(String[] args) {
int[]arr2={11,12,13};//定义时初始化
int []arr1;//定义后再初始化
arr1=new int[]{11,12,13};
int [][]arr3={{11,12},{21,11}};//二维数组
}
}
public class HelloWorld {
    public static void main(String[] args) {


        int[]arr2={11,12,13};//定义时初始化
        int []arr1;//定义后再初始化
        arr1=new int[]{11,12,13};

int [][]arr3={{11,12},{21,11}};//二维数组



    }
}
public class HelloWorld { public static void main(String[] args) { int[]arr2={11,12,13};//定义时初始化 int []arr1;//定义后再初始化 arr1=new int[]{11,12,13}; int [][]arr3={{11,12},{21,11}};//二维数组 } }

对比c++

#include<iostream>
using namespace std;
int main()
{
int arr[] = { 11,12,13 };//定义时初始化
int arr1[4];//定义后初始化
arr1[0] = 11;
arr1[1] = 12;
arr1[2] = 13;
int *arr2 = new int[n];
int arr2[1][3];//二维数组
int arr3[2][2] = { {11,12} ,{21,11} };
}
#include<iostream>
using namespace std;
int main()
{

  int arr[] = { 11,12,13 };//定义时初始化
  int arr1[4];//定义后初始化
  arr1[0] = 11;
  arr1[1] = 12;
  arr1[2] = 13;
int *arr2 = new int[n];

  int arr2[1][3];//二维数组
  int arr3[2][2] = { {11,12} ,{21,11} };

}
#include<iostream> using namespace std; int main() { int arr[] = { 11,12,13 };//定义时初始化 int arr1[4];//定义后初始化 arr1[0] = 11; arr1[1] = 12; arr1[2] = 13; int *arr2 = new int[n]; int arr2[1][3];//二维数组 int arr3[2][2] = { {11,12} ,{21,11} }; }

对比中可以看出区别,定义时初始化只是将[ ]的顺序变了,定义后初始化java和c++都可以用new来定义动态数组,c++静态数组的话必须在初始化时在[ ]中输入初始值。

3.输入输出与c++稍有不同

java的输出

public class HelloWorld {
public static void main(String[] args) {
int a=123;
System.out.println("hello,world");
System.out.print("Hello, World!"+a);
}
}
public class HelloWorld {
    public static void main(String[] args) {

  int a=123;
        System.out.println("hello,world");
    System.out.print("Hello, World!"+a);
  
 
    }
}
public class HelloWorld { public static void main(String[] args) { int a=123; System.out.println("hello,world"); System.out.print("Hello, World!"+a); } }

输出结果为

hello,world
Hello, World!123
hello,world
Hello, World!123
hello,world Hello, World!123

System.out.println()输出后自动换行
System.out.print()少了ln后输出不会换行

IDEA中输入 sout+回车 就能快速打出System.out.println();

对比c++的输出

#include<iostream>
using namespace std;
int main()
{
int a=123;
cout << "hello,world\n";
cout<< "hello,world"<<a;
}
#include<iostream>
using namespace std;
int main()
{
  int a=123;

  cout << "hello,world\n";
  cout<< "hello,world"<<a;
}
#include<iostream> using namespace std; int main() { int a=123; cout << "hello,world\n"; cout<< "hello,world"<<a; }

java的输入

import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int numInt = scanner.nextInt();
System.out.println("你输入的为: " + numInt);
double numDouble = scanner.nextDouble();
System.out.println("你输入的为: " + numDouble);
}
}
import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int numInt = scanner.nextInt();
        System.out.println("你输入的为: " + numInt);

        double numDouble = scanner.nextDouble();
        System.out.println("你输入的为: " + numDouble);


    }
}
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int numInt = scanner.nextInt(); System.out.println("你输入的为: " + numInt); double numDouble = scanner.nextDouble(); System.out.println("你输入的为: " + numDouble); } }

java的输出需要在前面导入

import java.util.Scanner;
import java.util.Scanner;
import java.util.Scanner;

类似于c++的头文件

<iostream>
<iostream>
<iostream>

c++的输入

#include<iostream>
using namespace std;
int main()
{
int numint;
double numdouble;
cin >> numint;
cout << "你输入的为" << numint<<endl;
cin >> numdouble;
cout << "你输入的为" << numdouble<<endl;
}
#include<iostream>
using namespace std;
int main()
{
  int numint;
  double numdouble;
  cin >> numint;
  cout << "你输入的为" << numint<<endl;
  cin >> numdouble;
  cout << "你输入的为" << numdouble<<endl;




}
#include<iostream> using namespace std; int main() { int numint; double numdouble; cin >> numint; cout << "你输入的为" << numint<<endl; cin >> numdouble; cout << "你输入的为" << numdouble<<endl; }

java是以类为基础的,类比c++中的类看Scanner会更容易理解

Scanner是提前写好的类,我们在这里用这一个类创建了一个名字为scanner的对象
这一个对象里面又有很多的内置函数,分别对应不同数据类型的输入
于是我们能通过这个对象来输入我们对应的数据

内置函数有

nextInt():读取一个整数。
nextDouble():读取一个双精度浮点数。
next():读取一个字符串,以空格为分隔符。
nextLine():读取整行输入,包括空格。

4.流程控制语句与c++相同:

顺序、选择、循环

选择

·if
·else if
·else

·switch
·case
·defult

循环

·while()
·for()
·do…while()

import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int numInt = scanner.nextInt();
if(numInt!=0)
{
for(int i=0;i<=numInt;i++)
{
System.out.println(i);
}
}
else
{
System.out.println(0);
}
}
}
import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int numInt = scanner.nextInt();
       
        if(numInt!=0)
        {
            for(int i=0;i<=numInt;i++)
            {
                System.out.println(i);
            }
        }
        else
        {

            System.out.println(0);
        }

        

    }
}
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int numInt = scanner.nextInt(); if(numInt!=0) { for(int i=0;i<=numInt;i++) { System.out.println(i); } } else { System.out.println(0); } } }

与c++中基本一致

下一篇文章中开始对比c++与java面向对象程序思想,抽象,封装,继承,多态的异同点,这些过完后,就可以着手做项目,做项目是学习其编程思维最快的方式,让你明白,在这门语言中项目是如何从无到有搭建起来的。

末尾自身总结
因为我之前学过c,c++这两个编程语言,所以学其他的编程语言就需要这么对比着来,这样能大大加快基本语法的学习。
我先是跟着b站教程下载了IDEA,后来又为了写博客着手看看markdown文档的基础用法。
你要你开始跟着敲代码熟悉,这些也就能很快的记入心中,
就如博客的写作一样,多写,才能发现缺点,才能让下一个写作,变的更好

2024.7.6
                                                                                                2024.7.6
2024.7.6
© 版权声明
THE END
支持一下吧
点赞12 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容