首页 > 编程语言 >【Java】从头开始的Java复健day4

【Java】从头开始的Java复健day4

时间:2023-08-10 23:25:16浏览次数:38  
标签:复健 Java String int day4 char println 字符串

用的书:《Java从入门到精通》

day1(3.1-3.3): 【Java】从头开始的Java复健day1

day2(3.4-3.8): 【Java】从头开始的Java复健day2

day3(4.1-4.3): 【Java】从头开始的Java复健day3

第四章 流程控制

4.5 小结 略

4.6 练习

题目写输出里了

public class Java_test4_6 {
    public static void main(String[] args){
        System.out.println("1.判断变量x是奇数还是偶数");
        int x = 5;
        if (x == 0){
            System.out.println("偶数");
        }
        else if (x%2 == 0){
            System.out.println("偶数");
        }
        else {
            System.out.println("奇数");
        }

        System.out.println("2.for打印菱形");
        int n = 5;
        /*
        思路
        菱形分为上半和下半 行数和中间一行的列数相等 一般只为奇数
        先设行数n=5
        上半部分截止到n/2行
        来看随着行数的增加
        因为中间一行的*数和行数一致
        故第一行空格数为n / 2且每行递减1
        第一行的*数为1后边为3 5等奇数
        故为当前行数*2再-1
        当使用i为行数计数 则每行的空格数递减的1加起来应为i-1

        后半部分其实就是把行计数器i倒过来就行了
        故开始就是n / 2 + 1之后每次减1
         */
        // 打印上半部分
        for (int i = 1; i <= n / 2; i++) {
            for (int j = 1; j <= n / 2 - i + 1; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= 2 * i - 1; k++) {
                System.out.print("*");
            }
            System.out.println();
        }

        // 打印下半部分
        for (int i = n / 2 + 1 ; i >= 1; i--) {
            for (int j = 1; j <= n / 2 - i + 1; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= 2 * i - 1; k++) {
                System.out.print("*");
            }
            System.out.println();
        }

        System.out.println("3.用while计算1+1/2!+1/3!+...+1/20!");
        int num = 1;
        double sum = 0;
        double tmp = 1;
        /*
        两个while有点冗余
        思路是一个变量记录分母的阶乘
        一个变量记录计算出的分式
        但是由于分母上也只是每次比前一个多乘一个所以完全可以写在一个while中
        while (num <= 20){
            int k = 1;
            double tmp = 1;
            while (k <= num){
                tmp = tmp * k;
                k++;
            }
            sum = sum + (1.0 / tmp);
            num++;
        }
        */
        while (num <= 20){
            tmp = tmp * num;
            sum = sum + (1.0 / tmp);
            num++;
        }
        System.out.println(sum);

    }
}

第五章 字符串

5.1 String类

声明字符串

字符串变量必须经过初始化才能使用(?怎么感觉是废话)

创建字符串

Java中将字符串作为对象来管理 因此可以像创建其他类对象一样来创建字符串

常用的构造方法

  • 用字符数组a创建
    String(char a[])
  • 提取字符数组a中的一部分创建一个字符串对象
    • offset表示开始截取字符串的位置
    • length表示截取字符的长度
      String(char a[], int offset, int length)
  • 分配一个新String对象 使其表示字符数组参数中所有元素连接的结果
    String(char[] value)

注意啊这里String(char a[])和String(char[] value)其实没什么区别在代码上

一般也都使用后一种

但是除以上的构造方法外最常用的还是直接赋值

String s = "string";

public class Java5_1 {
    public static void main(String[] args){
        // 构造方法
        // 1.String(char a[])
        char a[] = {'g', 'o', 'o', 'd'};
        String s = new String(a);
        // 等价于
        String s1 = new String("good");

        // 2.String(char a[], int offset, int length)
        char b[] = {'g', 'o', 'o', 'd'};
        String s2 = new String(b, 2, 1);
        // 等价于
        String s3 = new String("o");

        // 3.String(char[] value)
        String s5 = new String("good");

        // 此时s6和s7都引用相同的字符串常量 具有相同的实体 指向同一个内存
        String s6, s7;
        s6 = "string";
        s7 = "string";

    }
}

5.2 连接字符串

连接多个字符串

Java中一个字符串不能分两行写 如果要分两行需要使用+

连接其他数据类型

连接之后会都变成字符串 但是应当谨慎使用

public class Java5_2 {
    public static void main(String[] args){
        int booktime = 4;
        float practice = 2.5f;
        System.out.println("我每天花费" + booktime +
                "小时看书" + practice + "小时练习");
        // ()优先级高故先算两个时间和
        System.out.println("我每天花费" + booktime +
                "小时看书" + (practice + booktime) + "小时练习");
    }
}

标签:复健,Java,String,int,day4,char,println,字符串
From: https://www.cnblogs.com/ryukirin/p/17621856.html

相关文章

  • 如何使用原生 JavaScript Canvas API 实现视频中的绿幕背景替换功能 All In One
    如何使用原生JavaScriptCanvasAPI实现视频中的绿幕背景替换功能AllInOneCanvas&Videodemoschroma-keying/greenscreeneffectconstprocessor={};processor.doLoad=functiondoLoad(){constvideo=document.getElementById("video");this.vid......
  • 《深入理解Java虚拟机》读书笔记:垃圾收集算法
    由于垃圾收集算法的实现涉及大量的程序细节,而且各个平台的虚拟机操作内存的方法又各不相同,因此本节不打算过多地讨论算法的实现,只是介绍几种算法的思想及其发展过程。垃圾收集算法概要 1、标记-清除算法标记-清除算法最基础的收集算法是“标记-清除”(Mark-Sweep)算法,算法分......
  • 【JavaScript36】HTML DOM创建/插入/删除/替换元素
    createElement创建元素document.createElement()可以创建一个元素document.createTextNode()创建一个文本节点appendChild()方法可向节点的子节点列表的末尾添加新的子节点。<divid="demo"><pid="p1">这是文本内容</p></div><script>//div下添加一个子元......
  • 【JavaScript34】获取和修改属性节点
    根据W3C的HTMLDOM标准,HTML文档中的所有内容都是节点:整个文档是一个文档节点每个HTML元素是元素节点HTML元素内的文本是文本节点每个HTML属性是属性节点注释是注释节点属性节点比如有一个p标签元素节点<pid="p2"class="text-center">点我看看</p>-那......
  • 【JavaScript35】innerText 和 innerHTML
    获取内容时innerHTML从对象的起始位置到终止位置的全部内容,还包括HTML标签。innerText会去掉标签的内容。innerText和innerHTML获取内容示例<divid="demo"><pid="p1"><strong>这是文本内容</strong></p>helloworld!</div><script>......
  • 【安全学习之路】Day42
    ......
  • java_3种注释语句
    1.内容解释//内容单行注释/*内容*/多行注释/***内容*/文档注释2.多行注释与文档注释的区别多行注释:文档注释:JDK提供的工具javadoc解析注释的内容,就是生成了javaAPI文档3.生成步骤4.javadoc标签标签描述示例@author标识......
  • Java入门01
    JAVA的诞生c语言有汇编语言的特点,所以更贴合硬件,运行快效率高,有很多系统、编译器、数据库等都是由c语言编写的,包括C语言的指针可以直接操控内存,但是C语言却没有给一个工具去越界检查,导致很容易犯错,同时内存管理需要自己调试,且不能再编译的时候发现,导致很大一部分精力都被指针和......
  • Java 编程中关于异常处理的 10 个最佳实践
    异常处理在编写健壮的Java应用的过程中,扮演着一个重要的角色。它并不是应用的功能需求,且需要优雅的处理任何错误情况,例如资源不可用,错误的输入,null输入等等。Java提供几个异常处理功能,并通过try,catch和  finally关键字内嵌在语言的本身。Java编程语言同样允许创建新的异常和使......
  • DWR、Java 和 Dojo 工具箱集成 Java 和 JavaScript
    2008年8月29日您能很快地说出多少Java™Web开发框架、库和工具箱?没错,数量太多,以至于很难弄清楚它们各自的功能以及哪个功能可以真正帮助您解决问题。但是,如果您从事的是Ajax开发,那么您必须要知道这个库:DirectWebRemoting(DWR)。它利用Java语言和JavaWeb技术大大......