首页 > 编程语言 >java学习——基础语法篇(适合已经学过c++的人群)

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

时间:2024-07-06 13:21:03浏览次数:13  
标签:java Scanner int System c++ 学过 public

本篇适合之前学过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;
    }
}

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}};//二维数组



    }
}

对比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} };

}

对比中可以看出区别,定义时初始化只是将[ ]的顺序变了,定义后初始化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);
  
 
    }
}

输出结果为

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;
}

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);


    }
}

java的输出需要在前面导入

import java.util.Scanner;

类似于c++的头文件

<iostream>

c++的输入

#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);
        }

        

    }
}

与c++中基本一致

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

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

                                                                                                2024.7.6

标签:java,Scanner,int,System,c++,学过,public
From: https://www.cnblogs.com/zangbotao/p/18284457

相关文章

  • Java面试题系列 - 第4天
    题目:深入理解Java泛型与类型擦除背景说明:Java泛型是JavaSE5引入的一种新特性,它允许在编译时检查类型安全,并且所有的强制转换都是自动和隐式的,提高了代码的重用率。然而,Java泛型的实现背后有一个重要的概念——类型擦除,理解这一点对于深入掌握泛型编程至关重要。问题要求:解......
  • 如何使用javadoc?为什么需要这个源代码文档工具
    目录一、什么是javadoc二、javadoc为什么会找不到路径三、如何解决javadoc一直找不到路径的问题一、什么是javadocJavadoc是一种用于生成Java源代码文档的工具,它可以帮助开发者生成易于阅读和理解的文档。Javadoc通过解析Java源代码中的注释,提取其中的文档信息,然后......
  • Java 方法中循环调用具有事务的方法
    在Java中,循环调用一个具有事务的方法时,需要特别注意事务的边界和管理。通常,事务的边界是由框架(如Spring)来控制的,确保方法执行时数据的完整性和一致性。然而,在循环中调用事务方法时,每个调用都可以被视为独立的事务,除非特别配置以允许跨多个方法调用共享同一事务。1.Java方法......
  • 基于java+springboot+vue实现的图书商城管理系统(文末源码+Lw)283
     摘 要现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本图书商城管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理......
  • 基于java+springboot+vue实现的旅游推荐系统(文末源码+Lw)280
    摘 要传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装旅游推荐系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,旅游推荐系统的有效......
  • 基于java+springboot+vue实现的流浪动物管理系统(文末源码+Lw)277
     摘    要在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对流浪动物信息管理的提升,也为了对流浪动物信息进行更好的维护,流浪动物管理系统的出现就变得水到渠成......
  • 基于java+springboot+vue实现的药店管理系统(文末源码+Lw)285
    摘   要传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,药品信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大用户的需求,因此就应运而生出相应的药店管理系统。本药店......
  • 基于java+springboot+vue实现的药店管理系统(文末源码+Lw)285
    摘   要传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,药品信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大用户的需求,因此就应运而生出相应的药店管理系统。本药店......
  • Java面试八股之MySQL存储引擎都有哪些
    MySQL存储引擎都有哪些MySQL提供了多种存储引擎,每种引擎都有其独特的特性和用途。以下是一些常用的MySQL存储引擎:InnoDB默认存储引擎(自MySQL5.5版本起)。支持事务(ACID属性)、行级锁定和外键约束。使用B+树作为索引结构。适合需要高并发的事务处理和高可靠性的场景。MyISA......
  • 那些年,学过的屠龙术
    朱泙漫学屠龙于支离益,单千金之家,三年技成而无所用其巧。程序员的技能,比如:Windows平台编程,从入行业时至今,没有做过相关的业务,相关的知识只能当成谈资。Windows平台下应用的crash问题,如何分析。Windows平台下应用的内存泄漏问题,如何分析。常见工具、命令的使用。Linux平......