【java】前八章:快速回忆(一)

简介: 【java】前八章:快速回忆

不知不觉,Java已近学了接近两个月。课本也慢慢的翻到了第八章,总感觉什么都没学到,一直想停下来整理一下,那就今天


java前八章复习总结(理论内容)


学的糊里糊涂的,没有代码经验,整理摘抄一些理论的东西,供自己参考,一定会有错误


第一章


简单了解java


java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 [2] 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等


工作原理

由四方面组成:

(1)Java编程语言

(2)Java类文件格式

(3)Java虚拟机

(4)Java应用程序接口

具体一点,百度java简介


搭建java开发环境的基本步骤:


点击->百度搭建java开发环境的基本步骤

自己去看吧;一步一步跟着来还是很简单的。


第二章:基本数据类型及运算


java中一共有8中基本数据类型,并且每种数据类型所占的存储空间是固定的,这种特性也增加了java的可移植性,这一点和c语言c++是不同的,因为java是在**虚拟机(jvm)**上运行的,数据类型和操作系统以及硬件间的适配是通过虚拟机来实现的。


Java中的8中基本数据类型:byte short int long float double boolean char


  • byte short int long都表示有符号数,即最高位是用来表示正负的,0表示正,1表示负;
  • byte占一个字节,表示范围:-~2^7-1 即-128~127
  • short 占两个字节,表示范围:–~2^15-1
  • int 占四个字节 ,表示范围:-~2^31-1
  • long 占八个字节,表示范围:-~2^63-1
  • float 占四个字节, double占八个字节
  • char 占两个字节,一个char代表一个unicode码,范围:0~2^16
  • boolean 占一个字节,只有true和false两个值

其中使用和用法注意和c语言差不多包括但不限于(类型转换与运算、隐式类型转换、显式类型转换)等。


java运算符


第1关:算数运算符


c489eba3a00c04ce5a3d326b66a1aaee_1015db848ec9b14515ae1888d8aabbf8.png


点击查看代码

package step1;
import java.util.Scanner;
public class Cal {
  public static void main(String[] args) {
    /*********start*********/
     System.out.println("请输入第一个整数");
         System.out.println("请输入第二个整数");
     Scanner sc=new Scanner(System.in);
    int a=sc.nextInt();
    int b=sc.nextInt();
    int c,d,e,f,g;
    c=a+b;d=a-b;e=a*b;f=a/b;g=a%b;
    System.out.println("两数相加的结果为:"+c);
    System.out.println("两数相减的结果为:"+d);
    System.out.println("两数相乘的结果为:"+e);
    System.out.println("两数相除的结果为:"+f);
    System.out.println("两数取余数的结果为:"+g);
    /*********end*********/
  }
}


测试用例:

73b3f5651b2bd0472a9d8b5cca199351_f4b27deeb688e69ec6e98eb7ea2c4df6.png


第2关:关系运算符


36566c7a252a7eab30f20fd7fd89a287_d993ad3581bda43580b65cac65464957.png


点击查看代码

package step2;
import java.util.Scanner;
public class Relative {
  public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        /*********start*********/
    System.out.println("a==b="+(a==b));
    System.out.println("a!=b="+(a!=b));
    System.out.println("a>b="+(a>b));
    System.out.println("a<b="+(a<b));
    System.out.println("b>=a="+(b>=a));
    System.out.println("b<=a="+(b<=a));
    /*********end*********/
  }
}


第一次测试会输入数据:20,34;

需要你的程序输出:

a==b=false
a!=b=true
a>b=false
a<b=true
b>=a=true
b<=a=false      


第3关:逻辑运算符


什么是逻辑运算符

逻辑运算符用于测试两个操作数之间的逻辑关系,且这两个操作数必须是布尔类型的(如关系表达式),得到的结果也是布尔类型的,通过逻辑运算符连接的结果为boolean类型的变量或表达式叫做逻辑表达式


0e685fd8064caa4080281196d17fb076_be51236aefb378eafd463ed9047e8b49.png

我们可以从“投票选举”的角度理解逻辑运算符:

与:要求所有人都投票同意,才能通过某议题;

或:只要求一个人投票同意就可以通过某议题;

非:某人原本投票同意,通过非运算符,可以使其投票无效;

异或:有且只能有一个人投票同意,才可以通过某议题


点击查看代码

package step3;
import java.util.Scanner;
public class testLogic {
  public static void main(String[] args) {
    Scanner sc=new Scanner(System.in);
      boolean a=sc.nextBoolean();
        boolean b=sc.nextBoolean();
        boolean c=sc.nextBoolean();     
    /*********start  *********/  
        System.out.println(!a);      
        System.out.println(a && b &&c);          
        System.out.println( c || b );        
        System.out.println( !b  );        
    /*********end  *********/
  }
}


测试说明 按照相关要求编写程序后,我会对你的程序进行测试。 预期输入:

true,false,true

预期输出:

false

false

true

true


第5关:运算符的优先级


05d909ee253b222c6ee4dd556cd102fd_b77c09549a0a04169108c5c00106c315.png


java特有的运算符(instancceof)<不知道是不是特有的,反正对一次见>


双目运算实例运算符,用于判断指定对象是否是一个特定的类型(类类型或接口类型<第5章内容>)例如:

    obj instanceof String
    其中,obj是一对像实例,若obj是string类型实例,则运算结果是true,否则为false。


String,java类,存储字符串类型,第七章


2.5练一练


1.输出java基本数据类型的取值范围

提示:java语言为基本数据类型提供了相应的包装类,分别是Boolean,Byte,Character,Short。Integer,Long,Float,Double。包装类中封装了静态成员变量MIN_VALUE与MAX_VALLUE,分别表达基本的数据类型所能表示的最小值和最大值。


点击查看代码

public class HOME {
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("Boolean最大值:true" +"最小值:flase");    //这里好像不是这么写的,管他呢,知道就行 ,不太会写代码
    System.out.println("byte的取值范围:");
    System.out.println(Byte.MIN_VALUE+"~"+Byte.MAX_VALUE);
    System.out.println("Character的取值范围:");
    System.out.println((int)Character.MIN_VALUE+"~"+(int)Character.MAX_VALUE);
    System.out.println("short的取值范围:");
    System.out.println(Short.MIN_VALUE+"~"+Short.MAX_VALUE);
    System.out.println("Integer的取值范围:");
    System.out.println(Integer.MIN_VALUE+"~"+Integer.MAX_VALUE);
    System.out.println("Long的取值范围:");
    System.out.println(Long.MIN_VALUE+"~"+Long.MAX_VALUE);
    System.out.println("Float的取值范围:");
    System.out.println(Float.MIN_VALUE+"~"+Float.MAX_VALUE);
    System.out.println("Double的取值范围:");
    System.out.println(Double.MIN_VALUE+"~"+Double.MAX_VALUE);
  }
}

第三章:结构化程序设计(面向过程程序化设计)


  • 顺序结构

734afaa53fecf488aab4ca0031b7f7f8_9e2e6de7bf73e179e5fe260adacb5cd3.png

  • 分支结构

c7d7983606e2b66b738885ce761da919_d9420b9e828d00af4e9dc1ddb554db89.png

  • 循环结构

3c15f2ffdc22bf931e43a5a8544eb3e7_766c801890588ea19b3b10578b796361.png

和c一样,不写了

练一练:求π的近似值

点击查看代码

public class HOME4 {
  public static void main(String[] args) {
    System.out.println("PI = ");
    float k = 1;
    float b = 1;
    float c = 0;
    while((1/b)>1e-6) {
      c += k*1/b;
      b +=2;
      k = -k;
    }
    System.out.println(4*c);
  }
}


第四章:数组


了解并学会使用下图所有内容即可

5b8e7d5f9d5b2abaa8e9f9f09402abc5_7e4a533ffedd89b989c20f6cc09701a6.png

具体在这Java基础语法(六)——数组的定义与使用,,非常具体 c语言同样适用



相关文章
|
5月前
|
Java 开发者
那些年,我们追过的Java多态——回忆篇
【6月更文挑战第17天】重温Java多态,它激发了初学者对面向对象编程的热情。多态展示了代码的灵活性和可扩展性,通过抽象和接口使设计更高效。在实践中,如GUI事件处理和游戏开发,多态广泛应用。随着时间的推移,理解加深,多态被视为反映现实多样性的编程哲学。对初学者,它是探索编程世界的钥匙,不应惧怕困惑,应多实践,享受与计算机对话的乐趣。多态,是编程旅程中宝贵的财富和成长见证。
29 0
|
Java
【java】前八章:快速回忆(三)
【java】前八章:快速回忆
93 0
|
存储 Java API
【java】前八章:快速回忆(二)
【java】前八章:快速回忆
91 0
|
Java Windows
Java 将照片转化为回忆中的照片,琉璃般的岁月 | Java工具类
Java 将照片转化为回忆中的照片,琉璃般的岁月 | Java工具类
Java 将照片转化为回忆中的照片,琉璃般的岁月 | Java工具类
|
SQL 算法 Java
Java生产填坑经历之全面回忆
屏幕快照 2018-07-30 下午4.01.49.png 生产填坑的经历为什么要称之为全面回忆呢,因为恰巧笔者之前看了一部科幻电影,名字就叫《全面回忆》Total Recall,该片于2012年10月20日在中国上映,豆瓣评分7.0。
1363 0
|
6天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####
|
13天前
|
安全 Java 测试技术
Java并行流陷阱:为什么指定线程池可能是个坏主意
本文探讨了Java并行流的使用陷阱,尤其是指定线程池的问题。文章分析了并行流的设计思想,指出了指定线程池的弊端,并提供了使用CompletableFuture等替代方案。同时,介绍了Parallel Collector库在处理阻塞任务时的优势和特点。
|
5天前
|
安全 Java 开发者
Java 多线程并发控制:深入理解与实战应用
《Java多线程并发控制:深入理解与实战应用》一书详细解析了Java多线程编程的核心概念、并发控制技术及其实战技巧,适合Java开发者深入学习和实践参考。
|
5天前
|
Java 开发者
Java多线程编程的艺术与实践####
本文深入探讨了Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的技术文档,本文以实战为导向,通过生动的实例和详尽的代码解析,引领读者领略多线程编程的魅力,掌握其在提升应用性能、优化资源利用方面的关键作用。无论你是Java初学者还是有一定经验的开发者,本文都将为你打开多线程编程的新视角。 ####
|
4天前
|
存储 安全 Java
Java多线程编程中的并发容器:深入解析与实战应用####
在本文中,我们将探讨Java多线程编程中的一个核心话题——并发容器。不同于传统单一线程环境下的数据结构,并发容器专为多线程场景设计,确保数据访问的线程安全性和高效性。我们将从基础概念出发,逐步深入到`java.util.concurrent`包下的核心并发容器实现,如`ConcurrentHashMap`、`CopyOnWriteArrayList`以及`BlockingQueue`等,通过实例代码演示其使用方法,并分析它们背后的设计原理与适用场景。无论你是Java并发编程的初学者还是希望深化理解的开发者,本文都将为你提供有价值的见解与实践指导。 --- ####