前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习Java——基础篇

快速学习Java——基础篇

作者头像
code-child
发布2023-05-30 14:05:53
1650
发布2023-05-30 14:05:53
举报
文章被收录于专栏:codechild

注:凡是没有列出的,基本上和C++的差不多,不在论述

常量

关键字:final 在c++中常量的关键字为const 作用和const一样,不能进行改变。 如果希望某常量可以在一个类的多个方法中进行使用,可以用关键字static final感觉和C++类似哈 如果这个常量用public进行修饰的话,说明其他的类也可以进行访问,当然方法被他修饰的话,也可以被其他的类进行访问。

字符串

String支持字符串和数字的连接。 里面方法和C++的也差不多,比如javasubstring与C++中substr java中的String不能进行修改,而C++string可以直接修改。 如果比较Java中的String字符串,不能直接用==号进行比较,因为Java中直接用==进行比较就是比较的地址和c语言的比较字符串一样。但是C++中string==比较的是字符串的内容。因为C++中==被重载了。 比较Java中的字符串用equals的方法。 在java的api中: chat chatAt(int index)返回的为index对应的字符串中第index对应的字符 int codePointAt(int index)返回的是index对应的字符串中第index对应字符ASCII对应的十进制的数。

String的接口

如果想拼接字符串,如果直接用String的话,会用空间、效率问题。 所以这里我们使用StingBuilder类。 比如下面的方式进行构建:

代码语言:javascript
复制
javapublic class Main {
    public static void main(String[] args) {
        StringBuilder builder=new StringBuilder();
        builder.append("mao");
        builder.append("le");

        String str=builder.toString();
        System.out.println(str);
    }
}

输入输出

输入还是不是很容易的 我们可以用Scanner类进行输入,怎么用呢?看下面的例子:

代码语言:javascript
复制
javaimport java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("输入一个整数:");

        int x=scanner.nextInt();
        System.out.println("这个整数为"+x);

        System.out.print("输入字符串:");

        String str=scanner.next();
        System.out.println("输出字符串"+str);

        System.out.print("输入一个浮点数:");

        float f=scanner.nextFloat();
        System.out.println("输出一个浮点数"+ f);
    }
}
/*
输入一个整数:12
这个整数为12
输入字符串:maoleiscool
输出字符串maoleiscool
输入一个浮点数:1.234
输出一个浮点数1.234
*/

Scanner类中有很多api,直接看文档就行。 上面的printprintln的差别就是输出的有没有换行

格式化输出

和c语言中的printf一样,Java中用的也是这个名字 格式化输出看文档就行,不在论述

文件的输入输出,emmmm,感觉没有意思,不写了。

控制流程

条件、循环都和C++都差不多。 就是switch,从Java7后,case可以为常量字符串,这是C++不允许的。 Java的循环中break可以跟标签,跳到标签的位置,感觉不太常用,说明一下。

大数

作为C/C++选手,我们肯定做过关键大数加法、乘法的题目。 好吧,Java可以直接处理大数 在java.math包中BigIntegerBigDecimal 第一个处理整型,第二个处理浮点数 用valueOf处理普通的数

代码语言:javascript
复制
javapublic static void main(String[] args) {
    //普通是数变成大数
    BigInteger bigInteger=BigInteger.valueOf(11111111);
    System.out.println(bigInteger);
    //如果是非常大的数,可以用下面动态的方法
    bigInteger=new BigInteger("12345678654323245678765432");

    System.out.println(bigInteger);
}

变成大数之后,就不能单纯的用+等运算符进行运算了,用add等类似的方法。

数组

int[] a = new int[常量]其实也可以这样写int a[] = new int[常量] java程序员大部分喜欢第一个,因为这样可以清楚的看出变量的类型。 匿名数组:看下面的例子 int[] a = new int[]{1,2,3,4,5,6}

代码语言:javascript
复制
javapublic static void main(String[] args) {
    int[] a=new int[]{1,2,3};
    for(int i=0;i<a.length;i++)
    {
        System.out.print(a[i]+" ");
    }
}

数组一旦确定长度之后,就不能改变长度了,和C++中的一样。想要改变长度就要用其他的数据类型。 除此之外,Java的数组是一种数据结构,与C++中的数组还是有区别的。从a.length就能看出。

对于遍历数组,可以用常规的方法进行下标的形式进行遍历,也可以用for each它的样子就如同C++中的范围for 对上面的代码进行修改:

代码语言:javascript
复制
javafor(int x:a)
{
    System.out.print(x+" ");
}

数组的拷贝

如果像这样:int[] b=a那么,此时的拷贝是浅拷贝——指向同一块空间,改变b,就是改变a 如果想要进行深拷贝就需要用到Arrays类的copyOf方法。怎么使用,嘿嘿,自己看文档。

命令行参数

我们会发现java中的main方法中有个参数String[] args这个其实是命令行参数,在c语言中main函数的参数也是有的,只不过c语言中出来传命令行参数,还可以传环境变量 int main(int argc, char *argv[], char *envp[])在Linux环境变量中我讲过该知识点。 当然要看到效果,要在终端上上演示。

排序

Arrays类的sort进行排序即可Arrays.sort(a)

多维数组

好吧,Java确实没有多维数组,就是一维,所谓的多维也是一维上又加了数组,而且可以不规则(只开行,暂时不开列,然后动态开辟列),6啊!!!!

代码语言:javascript
复制
javaint [][] a=new int[2][2]

它可不是像下面这样分布的

而是这样的:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-26J,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常量
  • 字符串
  • String的接口
  • 输入输出
    • 格式化输出
    • 控制流程
    • 大数
    • 数组
      • 数组的拷贝
        • 命令行参数
          • 排序
            • 多维数组
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档