精华内容
下载资源
问答
  • javase入门

    2020-02-20 11:50:27
    javase入门第一讲 刚入门,学的是张龙老师的javase知识。javase是java标准版,java是Sun公司在1995年5月推出的(2009年被甲骨文公司(Oracle)以74亿美金收购)。

    javase入门第一讲

      刚入门,学习的是张龙老师javase知识。javase是java标准版,java是Sun公司在1995年5月推出的(2009年被甲骨文公司(Oracle)以74亿美金收购)。
    

    1、JDK和JRE

    JDk:Java  Development Kit (java开发包),JDK包含JRE
    JRE:Java Runtime Environment(java运行环境)
    

    2、下载JDK

    步骤:
    1、去官网中下载JDK,选好自己合适的JDK版本。
    2、开始安装JDK。
    3、设定环境变量(可以是用户变量,也可以是系统变量),指向JDK安装目录下的bin目录(我自己的是 C:\Program Files\Java\jdk1.8.0_144\bin)。
    4、打开cmd,输入java -version(注:调到你的jdk安装的目录下,我的就是这个C:\Program Files),显示出java版本信息。
    

    3、熟悉一些常见的DOS命令

    盘符切换:E:回车,表示切换到E盘
    dir:查看当前路径下的内容
    cd:进入单级目录
    cd..:退到上一级目录
    cd\:回退到盘符目录
    cls:清屏
    exit:退出命令提示符窗口
    

    4、了解java的有的主要特点

    简单性
    面向对象(继承,封装,多态)
    安全性
    跨平台
    可移植
    多线程性
    

    5、JVM

    JVM:java Virtual Machine,java虚拟机
    java是跨平台的,而JVM不是跨平台的(JVM是由C语言编写的)
    java之所以能够做到跨平台,本质原因是JVM不是跨平台的。
    
    展开全文
  • JavaSE入门

    2020-10-24 15:20:19
    基于Java开发了许多平台,系统,工具 构建工具:Ant,Maven,Jekins 应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic Web开发:Struts,Spring,Hibernate,myBatis 开发工具:Eclipse,Netbean,intellij...

    基于Java开发了许多平台,系统,工具

    • 构建工具:Ant,Maven,Jekins
    • 应用服务器:Tomcat,Jetty,Jboss,Websphere,weblogic
    • Web开发:Struts,Spring,Hibernate,myBatis
    • 开发工具:Eclipse,Netbean,intellij,idea,Jbuilder

    JDK、JRE、JVM

    • JDK : Java Development Kit ——Java开发者工具
    • JRE : Java Runtime Environment ——Java运行时环境
    • JVM : Java Virtual Machine ——Java虚拟机

    卸载JDK

    1. 删除Java的安装目录

    在这里插入图片描述
    在这里插入图片描述

    1. 删除JAVA_HOME
    2. 删除path下关于Java的目录
    3. 打开cmd 查看java -version是否找不到命令

    安装JDK

    1. 百度搜索JDK8,找到下载地址

    2. 同意协议

    3. 下载电脑对应版本

    4. 双击安装JDK

    5. 记住安装路径

    6. 配置环境变量

      1. 我的电脑–>右键–>属性

      2. 环境变量–>JAVA_HOME

        在这里插入图片描述

      3. 配置path变量

    7. 测试JDK是否安装成功

      1. 打开cmd

      2. 输入命令java -version

      在这里插入图片描述

    notepad++

    HelloWorld

    1. 随便建立一个文件夹,存放代码

    2. 新建一个java文件

      1. 文件后缀名为.java
      2. Hello.java
      3. [注意点]系统可能没有显示文件后缀名,我们需要手动打开
    3. 编写代码

    public class Hello{
    	public static void main(String[] args){
    		System.out.print("Hello,World!");
    	}
    }
    
    1. 编译javac java文件,会生成一个class文件

    2. 运行class文件,java class文件

    Java数据类型

    强类型语言

    • 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用(安全性强,速度慢)

    弱类型语言

    Java数据类型分为两大类型

    • 基本类型(primitive type)

      数据类型 数值类型 byte占1个字节范围 -128~127

      ​ short占2个字节范围 32768~32767

      ​ int占4个字节范围 -2147483648~2147483647

      ​ long占8个字节范围**(后面加L)**-9223372036854775808~9223372036854775807

      ​ 浮点类型 float占4个字节 (后面加F,有限 离散型 舍入误差 大约 接近但不等于)

      ​ double占8个字节

      ​ 字符类型char占2个字节

      Boolean类型:占1位其值只有true和false

    • 引用类型(reference type)

      接口

      数组

    在这里插入图片描述


    在这里插入图片描述

    在这里插入图片描述


    类型转换

    由于java是强类型语言,所以要进行有些运算的时候,需要用到类型转换

    ​ 低 --------------------------------------------------------------------------- 高

    ​ byte,short,char->int->long->float->double

    运算中,不同类型的数据先转化为同一类型,然后在进行运算。

    • 强制类型转换
    • 自动类型转换

    在这里插入图片描述
    在这里插入图片描述

    变量

    Java是一种强类型语言,每个变量都必须声明其类型。

    Java变量是 程序中最基本的储存单元,其要素包括变量名,变量类型和作用域。

    注意事项:

    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
    • 变量名必须是合法标识符。
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

    在这里插入图片描述

    常量

    常量(Constant):初始化(initialize)后不能再改变值,不会变动的值。

    所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

    final 常量名 =;
    final double PI = 3.14 ;
    

    常量名一般使用大写字符。

    运算符

    //Ctrl+D 复制当前行到下一行
    
    • 关系运算符返回的结果:正确 错误 布尔值

    • 自增自减

      int b = a++;   //执行完这行代码后,先给b赋值,再自增
      int c = ++a;   //执行完这行代码前,先自增,再给c赋值
      
    • 逻辑运算符

      • 与(and)或(or)非(取反)

    在这里插入图片描述

    • 条件运算符 ?:
      在这里插入图片描述

    JavaDoc

    javaDoc官网

    Java流程控制

    Scanner对象

    • java.util.Scanner是Java5的新特征,我们可以通过Scanner类来获取用户的输入。

    • 基本语法

      Scanner  a = new Scanner(System.in);
      
    • 通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取前我们一般需要使用hasNext()与hasNextLine()判断是否还有需要输入的数据。

    • next()

      • 一定要读取到有效字符后才可以结束输入
      • 对输入有效字符之前遇到的空白,next()方法会自动将其去掉
      • 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符
      • next()不能得到带有空格的字符串
    • nextLine()

      • 以Enter为结束符也就是说nextLine()方法返回的是输入回车之前的所有字符。
      • 可以获得空白。

    顺序结构

    • java基本结构就是顺序结构,除非特别指明,否则就按顺序一句一句执行。
    • 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

    选择结构

    • if单选泽结构

      • 语法

        if(布尔表达式){

        ​ //如果布尔表达式为true将执行的语句

        }

    • if双选择结构

      • if(布尔表达式){

        ​ //如果布尔表达式为true

        }else{

        ​ //如果布尔值表达式为false

        }

    在这里插入图片描述

    switch多选择结构

    • 多选择结构还有一个实现方式就是switch case语句
    • switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

    在这里插入图片描述

    for循环结构

    关于for循环有以下几点说明:

    • 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
    • 然后,检测布尔表达式的值。如果为true,循环体被执行,如果为false,循环终止,开始执行循环体后面的语句。
    • 执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。
    • 再次检测布尔表达式,循环执行上面的过程。

    for循环的快捷键 —— .for

    print 输出完不会换行

    println 输出完会换行

    break continue

    • break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
    • continue语句用在循环语句体中,用于终止某次循环的过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。
      • //break在任何循环语句的主体部分,均可用break控制循环的流程。
      • //break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)
      • continue语句用在循环语句体中,用于终止某次循环的过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

    方法的定义

    • Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:

    • 方法包含一个方法头和一个方法体。下面是一个方法的所有部分:

      • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。

      • 返回值类型:方法可能会返回值。returnValueType是方法返回值的数据类型。有些方法执行所需要的操作,但没有返回值。在这种情况下,returnValueType是关键字void。

      • 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。

      • 参数类型:参数像是一个占位符。当方法被调用时,传递至给参数,这个值被称为实参或变量。参数列表市值方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含仍和参数。

        • 形式参数:在方法被调用时用于接受外界输入的数据。
        • 实参:调用方法时实际传给方法的数据。
      • 方法体:方法体包含具体的语句,定义该方法的功能。
        在这里插入图片描述

    方法的重载

    重载就是在一个类中,有相同的函数名称,但形参不同的函数。

    方法的重载的规则:

    • 方法名称必须相同。
    • 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
    • 方法的返回类型可以相同也可以不相同。
    • 仅仅返回类型不同不足以成为方法的重载。

    命令行传参

    在这里插入图片描述

    可变参数

    • JDK1.5开始,java支持给一个方法传递同类型的可变参数。
    • 在方法声明中,在指定参数类型后加一个省略号(……)。
    • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。

    递归

    递归结构包含两个部分:

    • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
    • 递归体:什么时候需要调用自身方法。

    数组

    数组的声明创建

    • 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:
    dataType[] arrayRefVar;  //首选的方法
    dataType arrayRefVar[];  //效果相同,但不是首选方法
    
    • Java语言使用new操作符来创建数组,语法如下:
    dataType[] arrayRefVar = new arrayRefVar[arraySize];
    
    • 数组的元素是通过索引来访问的,数组索引从0开始。
    • 获取数组的长度:——arrays.length

    内存分析

    Java内存分析
    在这里插入图片描述

    java.lang.ArrayIndexOutOfBoundsException//数组下标越界异常
    

    三种初始化状态

    • 静态初始化
    int[] a = {1,2,3};
    Man[] mans = {new Man(1,1),new Man(2,2)};
    
    • 动态初始化
    int[] a = new int[2];
    a[0] = 1;
    a[1] = 2;
    
    • 数组的默认初始化

      数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中每个元素也被按照实例变量相同的方式被隐式初始化。

    在这里插入图片描述

    数组的四个基本特点

    • 其长度是确定的,数组一旦被创建,它的大小就是不可以改变的。
    • 其元素必须是相同类型,不允许出现混合类型。
    • 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
    • 数组变量属引用类型向,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

    Arrays类

    数组的工具类java.util.Arrays

    由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作。

    Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而”不用“使用对象来调用(注意:是”不用“而不是”不能“)

    具有以下常用功能:

    • 给数组赋值:通过fill方法。
    • 给数组排序:通过sort方法,按升序。
    • 比较数组:通过equals方法比较数组中元素值 是否相等。
    • 查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作。

    稀疏数组的介绍

    二维数组的长度

    //定义一个整型数组:3行4列 
    int a[][] = new int[3][4]; 
    
    //获取行数---3行 
    int lenY = a.length;
    
    //获取列数---4列 
    int lenX = a[0].length;
    

    在这里插入图片描述

    展开全文
  • javaSE入门

    2020-09-09 00:21:43
    JAVA基础 数据类型 基本数据类型 整数类型 数据类型 ( 位数) 取值范围 byte(8) -2^7 ~ 2^7-1 short(16) -2^15 ~ 2^15-1 int(32) -2^31 ~ 2^31-1 long (64) -2^63 ~ 2^63-1 ...数据类

    JAVA基础

    数据类型

    基本数据类型

    整数类型

    数据类型 ( 位数) 取值范围
    byte(8) -2^7 ~ 2^7-1
    short(16) -2^15 ~ 2^15-1
    int(32) -2^31 ~ 2^31-1
    long (64) -2^63 ~ 2^63-1

    浮点数类型

    数据类型(位数) 取值范围
    float(单精度) -2 ^ 31 ~ 2^31-1
    double(双精度) -2^63 ~ 2 ^63 -1

    字符类型

    数据类型(位数) 取值范围
    char (16) 0-2^16-1

    布尔类型

    数据类型(位数) 取值范围
    boolean(8) true、false

    引用数据类型

    除了基本类型以外,几乎所有的其他类型都拥有自己的属性以及方 法,那么这种类型我们就称它为引用类型。
    如:java自带的类 自定义的类 接口 枚举 数组等都属于引用数据类型。

    运算符

    算术运算符

    +(加):一般情况表示加法运算,但是在字符串后面表示字符串拼接

    -(减)、*(乘)、/(除):

    %(模又叫取余)
    ++:自增:1. 只能作用于一个数,并且只能是变量,不能是常量
    2. 变量在前
    a++: 先赋值,再自增
    运算步骤:
    step1:先将a的值赋值给 a++ 这个整体
    step2:再将a的值+1
    如:a= 0;
    b = a++;
    ab的值分别是a = 1;b = 0;
    3. 变量在后
    ++a:先自增,再赋值
    运算步骤:
    step1:先将a的值+1
    step2:再将a的值赋值给 a++ 这个整体
    如:a= 0;
    b = ++a;
    ab的值分别是a = 1;b = 1;

    赋值运算符

    赋值运算符是优先级最低的一种运算,等后边的所有运算完毕后,才执行赋值运算。
    赋值运算有强制转换功能,可以避免类型提升.会有溢出风险
    如:

    byte a = 127;
    a += 1; //相当于a = (byte)(a + 1)
    System.out.println(a);//a = -128
    

    比较运算符

    <(小于) >(大于) <= (小于等于) >= (大于等于)
    !=(不等于)和 == (双等于):

    1. 比较基本类型,比较的是值是否相等
    2. 比较引用类型,比较的是地址是否相等

    逻辑运算符

    !: 表示取反,非真即假,非假即真 (操作一个变量/值)
    		
    &&:逻辑双与,表示并且,有假即假,有短路功能,没有位运算功能
    		
    &:逻辑单与,表示并且,有假即假,没有短路功能,有位运算功能
    		
    ||:逻辑双或,表示或者,有真即真,有短路功能,没有位运算功能
    		
    |:逻辑单或,表示或者,有真即真,没有短路功能,有位运算功能
    		
    ^:逻辑异或, 同假异真
    	
    	短路问题:当逻辑运算左边能够确定整个表达式结果值的时候,
    	就会发生短路,不会再计算后面的结果了,这样可以提供程序
    	运算效率
    优先级问题:
    		! > &&(&) > ||(|)
    

    位运算符(基于二进制)

    ~n:	按位取反
    		记住公式:n的按位取反结果是: -(n+1)
    &: 按位与,有0即0
    |:按位或,有1即1
    ^:按位异或,同0异1		常常用来交换两个变量的值
    m << n: 按位左位移,如果m是正数,右边补0,是负数就补1  相当
    于*2^n 次方,有溢出风险
    m >> n: 按位右位移,如果m是正数,左边补0,是负数就补1  相当
    于/2^n 次方
    

    循环结构语句和条件语句

    循环结构语句(满足条件,执行循环体)

    while(判断条件){
    循环体
    }

    Created with Raphaël 2.2.0开始判断条件循环体结束yesno

    do{
    循环体
    }while(条件判断);//注意分号

    Created with Raphaël 2.2.0开始循环体判断条件结束yesno

    for循环,可以简单的认为就是while循环的简写 (重点)
    for(1.初始化条件语句; 2.条件判断语句; 4. 循环控制语句){
    3. 循环体
    }

    Created with Raphaël 2.2.0开始初始化条件判断条件循环体结束yesno

    循环控制语句:
    1. break 表示结束当前层循环 (锚点的自己扩展,几乎不用)
    2. continue 表示跳过当前次循环,继续下一次循环
    3. return 表示结束的当前方法
    在以上三个控制语句后,不能紧跟任何代码,因为永远执行不到

    条件语句(让程序有选择的执行,满足条件就执行,不满足就不执行)

    1.1. 单条件语句:
    语法:
    if(条件判断){//布尔表达式、比较表达式、逻辑
    如果满足条件,就执行该{}中代码
    }

    1.2. 双条件语句
    	语法:
    		if(条件判断){
    			如果满足条件,就执行该if中代码
    		} else {
    			如果满足不条件,就执行该else中代码
    		}
    		
    1.3. 多条件语句
    	语法:
    		if(条件判断1){
    			如果满足条件1,就执行该代码
    		} else if(条件判断2){
    			如果满足条件2,就执行该代码
    		} else if(条件判断3){
    			如果满足条件3,就执行该代码
    		}...
    		else {
    			如果上面所有的条件都不满足,则只需else中代码
    		}
    		
    1.4. switch
    	语法:
    		声明变量
    		switch(变量){
    			case 值1:
    				功能语句1
    				功能语句2...
    			break;
    			case 值2:
    				功能语句1
    				功能语句2...
    			break;
    			case 值3:
    				功能语句1
    				功能语句2...
    			break;
    			default:
    				default语句
    			break;
    		}
    		
    		switch语句优先从case开始匹配,只有case都没有匹配上
    		才匹配default语句如果匹配上一个case,则会找最近的break,
    		如果没有,则会一直向下执行,就不会匹配了,直到找到break
    		或者到switch语句结束为止
    		
    		switch支持的数据类型:
    			byte/ short / int / char / String(1.7) / 
    			枚举类型(1.5)
    	
    		使用场景:
    			switch不适应区间条件,只适用于一些条件比较固定的场
    			景。例如:vip、星座、QQ状态、月份礼拜、生肖、季节...
    
    展开全文
  • Javase入门

    2019-01-24 22:58:10
    java语言基础 选择结构if ##if语句第一种格式 if(布尔表达式){ 语句体 } 执行流程: 先判断布尔表达式的真假,真就执行语句体;假就不执行语句体。 流程图如下: ...if(不二表达式1)...

    java语言基础

    选择结构if

    if语句第一种格式

    if(布尔表达式){
    语句体
    }
    执行流程:
    先判断布尔表达式的真假,真就执行语句体;假就不执行语句体。
    流程图如下:
    在这里插入图片描述

    if语句第二种格式

    if(布尔表达式1){
    语句体1
    }else {
    语句体2
    }
    执行流程:
    判断布尔表达式的真假
    真:执行语句体1
    假:执行语句体2
    流程图如下:
    在这里插入图片描述

    if语句表达式第三中格式

    if(不二表达式1){
    语句体1
    }else if (布尔表达式2){
    语句体2
    }
    。。。
    else (
    语句体n+1

    执行流程:
    判断布尔表达式1的真假
    真:执行语句体1
    假: 判断布尔表达式2的真假
    真:执行语句体2
    假:以此类推
    。。。
    假:执行语句体n+1
    流程图如下:
    在这里插入图片描述

    选择结构switch

    switch结构的基本语句

    switch(表达式){
    case 值1:
    语句体1;
    break;
    case 值2:
    语句体2;
    break;
    。。。
    default:
    语句体n+1;
    break;
    }
    执行流程:
    首先计算表达式的值
    然后和case的值 进行依次的比较,一旦有了对象的值,就执行对应的语句,遇到break跳出;
    如果都没有与case的值匹配成功,那么就与default匹配执行语句体。
    程序流程图如下:
    在这里插入图片描述

    if语句和switch语句使用的选择

    if 语句的使用场景:

    • 针对结果是Boolean类型的判断
    • 针对一个范围的判断
    • 针对几个常量值的判断

    switch语句的使用场景:

    • 针对几个常量值的判断

    常见的错误和陷阱

    忘记必要的括号

    如果块中只有一条语句,就可以忽略花括号。但是,当需要用花括号将多条语句括在一起时,忘记花括号是一个常见的程序错误。
    if (radius>= 0) { area = radius * radius * PI; System.out.println("The area "+"is"+area); }

    错误的在if行出现“ ;”

    悬空的else 出现的歧异

    两个浮点数值的相等测试

    浮点数具有有限的计算精度;涉及浮点数的计算可能引入舍人错误。因此,两个浮点数值的相等并不可靠。

    例题

    在这里插入图片描述

    import java.util.Scanner;
    class Demo3_5{
    	/*
    	数据:输入一个三位数的整数
    	指令:1 获取随机的三位数
    		  2	输入一个整数
    		  3 拆分随机三位数上各个位置的值 a1 b1 c1
    		  4 拆分输入的三位数上各个位置上的值 a2 b2 c2
    		  5 拿各个位置上的数进行匹配
    		     
    	      
    	*/
    	public static void main(String[] args){
    		int comNum=(int)(Math.random()*1000);
    		System.out.print(comNum);
    		Scanner scanner=new Scanner(System.in);
    		System.out.println("输入一个三位整数");
    		int usrNum=scanner.nextInt();
    		int a1=comNum%10;
    			comNum/=10;
    		int b1=comNum%10;
    			comNum/=10;
    		int c1=comNum;
    		int a2=usrNum%10;
    			usrNum/=10;
    		int b2=usrNum%10;
    			usrNum/=10;
    		int c2=usrNum;
    		if(a1==a2&&b1==b2&&c1==c2){
    			System.out.print("奖金是10000美元");
    		}else if((a1==b2&&b1==c2&&c1==a2)||(a1==c2&&b1==a2&&c1==b2)){
    			System.out.print("奖金是3000美元");
    		}else if(a1==a2||a1==b2||a1==c2||b1==a2||b1==b2||b1==c2||c1==a2||c1==b2||c1==c2){
    			System.out.print("奖金是1000元");
    		}else{
    			System.out.print("没有中奖");
    		}
    			
    	}
    }
    

    在这里插入图片描述

    import java.util.Scanner;
    class Demo3_7{
    	/*
    	数据:一个圆心的坐标 和半径 和另外一个坐标
    	指令: 1 输入圆心的坐标和半径
    	      2 输入另外一个坐标
    		  3 计算圆心到另外一个坐标的距离
    		  4 判断半径与距离
    			4.1 半斤》距离 则在园内
    			4.2 半径《距离 则在园外
    	*/
    	public static void main(String[] args){
    		Scanner scanner=new Scanner(System.in);
    		System.out.print("输入一个圆的圆心和半径:");
    		System.out.print("Enter a point with two coordinates:");
    		double ox=scanner.nextDouble();
    		double oy=scanner.nextDouble();
    		double radius=scanner.nextDouble();
    		double x=scanner.nextDouble();
    		double y=scanner.nextDouble();
    		double distances=Math.sqrt(Math.pow(ox-x,2)+Math.pow(oy-y,2));
    		if(distances>radius){
    			System.out.printf("Point (%f,%f) is not in the circle",x,y);
    		}else{
    			System.out.printf("point (%f,%f) is in the circle",x,y);
    		}
    	}
    }
    

    在这里插入图片描述

    import java.util.Scanner;
    class Demo3_11{
    	/*
    	数据:圆心 和两个圆的半径 两个圆心之间的距离
    	指令:
    	1.输入两个圆的圆心和半径(默认圆2小于圆1)
    	2.计算两个圆心之间的距离
    	3.判断圆心与半径之间的关系
    		3.1 如果距离>r1+r2	圆2在圆1外
    		3.2 如果距离<=r1-r2 圆2在圆1内
    		3.3 其他 圆2与圆1相交
    	*/
    	public static void main(String[] args){
    		// 1
    		Scanner scanner=new Scanner(System.in);
    		System.out.print("Enter circle1's center and radius:");
    		double x1=scanner.nextDouble();
    		double y1=scanner.nextDouble();
    		double r1=scanner.nextDouble();
    		System.out.print("Enter circle1's center and radius:");
    		double x2=scanner.nextDouble();
    		double y2=scanner.nextDouble();
    		double r2=scanner.nextDouble();
    		// 2 
    		double distance=Math.sqrt(Math.pow(x1-x2,2)+Math.pow(y1-y2,2));
    		// 3
    		if(distance>r1+r2){
    			System.out.println("circle2 is out of circle1");
    		}else if(distance<=r1-r2){
    			System.out.println("circle2 is in the circle1");
    		}else{
    			System.out.println("circle2 is overlaps circle1");
    		}
    	}
    }
    

    java语言循环语句结构

    循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环;
    循环四要素:

    • 循环初始化:一条或多条语句,这些语句完成一些初始化操作,让循环开始执行
    • 循环继续条件:控制循环是否继续或结束的条件
    • 循环体:需要被循环执行的代码
    • 循环步长(间距,周期):当前循环和下一次循环之间的差量

    for循环语句格式

    for循环语句格式:
    for(初始化语句;继续条件;步长){
    循环体
    }
    操作流程:
    先执行循环语句初始化,判断循环继续条件,
    true :继续执行 循环体
    false:跳出循环
    执行步长
    流程图如下:
    在这里插入图片描述
    for 循环语句是从关键字 for 开始的,然后是用一对圆柱体括号括住的循环控制结构体。这个结构体也包括初始操作,循环继续条件和每次代后的操作。控制结构体后紧跟着花括号括起来的循环体。初始操作,循环继续条件和每次指代后的操作都要用分号分隔。

    for 循环语句的注意事项

    • 循环继续条件语句的结果是一个boolean类型
    • 循环体语句如果是一条语句,大括号可以省略
    • 有左大括号就没有分号有分号就没有左大

    while语句的格式和使用基本规则

    while循环语句格式:
    while(循环继续条件){
    循环体语句
    }

    循环初始化语句
    while(循环继续条件){
    循环体语句
    步长
    }

    while语句和for语句的区别

    for循环针对一个范围判断进行操作
    while循环适合判断次数不明确操作

    break语句的使用

    使用的场景:

    • 在选择结构switch语句中
    • 在循环语句中
    • 离开使用场景的存在是没有意义的

    使用的作用:

    • 跳出单层循环
    • 跳出多层循环:带标签跳出,标签名:循环语句

    例题

    在这里插入图片描述`import java.util.Scanner;
    class Demo3_12{
    /*
    指令:1·遍历输入的所有整数
    2·判断num 的正负
    2·1 num>0 整数+1 输出
    2·2 num<0 负数+1 输出
    2·3 num=0 break
    3·计算total的值
    4·计算平均值
    */
    public static void main(String[] args){
    Scanner scanner=new Scanner(System.in);
    int positives=0;
    int negatives=0;
    int sum=0;
    System.out.print(“Enter an integer , the input ends if it is o :”);
    while (true){
    int num=scanner.nextInt();

    		if (num>0){
    			positives+=1;	
    		}else if (num<0){
    			negatives+=1;	
    		}else {
    			break;
    		}
    		sum=sum+num;
    		
    			
    	}
    
    	System.out.printf("The number of positivers is %d \n ",positives);
    	System.out.printf("The number of negatives is %d \n ",negatives);
    	double total=(double)(positives+negatives+1);
    	System.out.printf("The total is %.1f \n ",total);
    	    
    	double avg=(double)(sum/total);
    	System.out.printf("The average is %.1f \n ",avg);
    
    	
    
    
    
    }
    

    }
    `
    在这里插入图片描述

    import java.util.Scanner;
    class Demo3_14{
    	/*
    	指令:1 输入一个整数 num
    		  2 判断num^2>12000 
    		  3 输出这个数
    
    
    		  循环 
    		  初始值 输入的一个整数
    		  可执行变量 true
    		  循环语句 2 
    		  步长 num++
    
    	*/
    	public static void main(String[] args){
    		int num=0;
    		while (true){
    			if (num*num>12000){
    				break;
    			}
    			num++;
    		}
    		System.out.print(num);
    		num=0;
    		while (true){
    			
    			if (num*num*num>12000){
    				break;
    			}
    			num++;
    			
    		}
    		num--;
    		System.out.print(num);
    
    
    	}
    }
    

    在这里插入图片描述

    class Demo3_20{
    	/*
    	指令:遍历1~1000之间的整数
    		  判断是否为完全数
    		  输出这些数
    
    		  循环
    			
    	
    	*/
    	public static void main(String[] args){
    		int num1=0;
    		for (int num=1;num<=10000;num++ ){
    			for (int i=1;i<=num/2;i++){
    				
    				if (num%i==0){
    					num1+=i;
    				}	
    			}
    			if (num==num1){
    				System.out.println(num);
    			}
    			num1=0;
    		}
    
    	}
    }
    

    在这里插入图片描述

    import java.util.Scanner;
    class Demo3_22{
    	/*
    	指令:
    		输入一些整数
    		判断最大值max
    		并记录max出现的次数 count
    	
    	*/
    
    	public static void main(String[] args){
    		int max=0;
    		int count=0;
    		Scanner scanner=new Scanner(System.in);
    		System.out.print("请输入整数");
    		while (true){
    			int num=scanner.nextInt();
    			if (num==0){
    				break;
    			}
    			if (num>max1){
    				max=num;
    				count=1;
    			}else if (max==num){
    				count++;
    			}
    		
    		}
    		System.out.println("最大的数字是 :"+max);
    		System.out.println("出现的次数是:"+count);
    			
    		
    
    
    
    	}
    }
    
    展开全文
  • 初级JavaSE入门视频教程
  • javaSE入门视频教程.zip

    2019-12-29 10:48:46
    javaSE入门基础教程,适合初学者。该视频教程介绍了java基本结构、语法结构、interface、implements等。感兴趣的朋友可以下载下来看看,了解了解。
  • JavaSE 入门 方法

    2020-07-26 16:38:04
    JavaSE 入门 方法1.方法概述1.1 方法的概念2.方法的定义和调用2.1 无参数定义和调用(掌握)2.2 方法调用过程图解(理解)2.3 无参数方法的练习(应用)3.带参数方法定义和调用3.1 带参数方法定义和调用(掌握)3.2 ...
  • javaSE入门总结-容器

    2021-03-19 20:13:48
    JavaSE 入门 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 java容器...
  • JAVASE入门视频教程

    2020-06-17 16:11:23
    JavaSE就是一种标准版,是Java中的基础部分,Java各种框架和产品都是基于JavaSE,也就是JavaSE是Java向上发展的基础,它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。JavaSE 包含了...
  • 【Java从入门到天黑|03】JavaSE入门之流程控制

    千次阅读 多人点赞 2021-04-17 10:55:43
    大家好,我是孙叫兽,本期内容给大家分享一下JavaSE入门之流程控制。 用户交互Scanner 1、Scanner对象 之前我们学的基本语法中我们并没有实现程序和人的交互,但是Java给我们提供了这样一个工具类,我们可以...
  • JavaSE入门 常用API

    2020-07-30 20:11:16
    JavaSE入门 常用API1.API1.1 API概述【理解】1.2 如何使用API帮助文档【应用】String类2.1 String类概述【理解】2.2 String类的特点【理解】2.3 String类的构造方法【记忆】2.4 创建字符串对象两种方式的区别【理解...
  • JavaSE入门 面向对象

    2020-07-30 19:59:03
    JavaSE入门 面向对象1.类和对象1.1 类和对象的理解【理解】1.2 类的定义【应用】1.3 对象的使用【应用】1.4学生对象-练习【应用】2. 对象内存图2.1 单个对象内存图【理解】2.2 多个对象内存图【理解】2.3 多个对象...
  • 狂神说 JavaSE入门笔记

    2020-12-02 21:30:23
    狂神说 JavaSE入门笔记 4 基础 4.1 注释 comments 书写注释是非常好的习惯 Java中有三种注释 单行注释 多行注释 文档注释 文档注释 /** @Author lee */ 4.2 标识符 类名,变量名,方法名都被称为标识符 标识符以...
  • JavaSE入门基础算法之数组排序

    千次阅读 2020-03-28 11:08:10
    针对Java初学者。JavaSE入门基础算法之数组排序。包括冒泡排序和选择排序,以及使用工具类排序。
  • JavaSE入门基础算法之打印各种图形

    千次阅读 2020-03-28 11:08:51
    针对Java初学者。介绍JavaSE入门基础算法,并且打印各种图形、比如三角形、空心菱形、杨辉三角、九九乘法表。
  • No.3.1_6 JavaSE入门 P5 【Java基础】方法

    千次阅读 2021-02-23 10:30:31
    JavaSE入门 P5 【Java基础】方法
  • No.3.1_5 JavaSE入门 P4 【Java基础】数组

    千次阅读 2021-01-29 09:36:57
    JavaSE入门 P4 【Java基础】数组、JVM内存结构
  • JAVASE入门资料

    2013-02-23 17:33:53
    javase的一些入门级知识和一些例子,是我最初学习时总结的,希望给初学者带来一些帮助。
  • JavaSE入门0之java起源与发展历程 文章目录JavaSE入门0之java起源与发展历程前言1.Java的起源2.Java和互联网3.java历史4.java语言特点5.java应用6.java相关名词解释 前言 我个人觉得,学习一门语言,一定得了解这门...
  • JavaSE入门全套课程

    2018-10-08 21:33:40
    课程从基础入门开始教学,全套课程精细讲解,课程阶段超过其他机构30%的课程量,经过我们全套课程系统学习的同学,可轻松从事Java工程师或系统架构师岗位,仅VIP课程提供全套代码笔记其它相关素材及答疑服务,可谓是...
  • javaSE入门笔记

    2020-11-29 23:00:42
    javaSE笔记 1、static关键字 //当方法用static关键字声明时,这个方法在他所在的类创建时,就创建了(方法被创建的早) //所以被static声明的方法不能调用没有声明的方法 public static void a(){ b(); //此处...
  • JavaSE入门 P7 【面向对象】继承&多态 1.继承 2.super关键字以及继承中的方法重写 3.多态 4.课后练习
  • 这里写自定义目录标题JavaSE入门项目,WebSocket聊天室的实现(一)项目准备涉及的知识点了解服务器与客户端的连接过程接下来就涉及到IO流的操作了,先实现一个简单的功能就是客户端发送信息,服务端接收并打印出来...
  • JavaSE入门初级

    2021-05-26 21:03:19
    java执行机制: 编写源代码.java---》编译器---》字节码文件.class---》对应平台解释器---》解释执行 解释过程又称二次编译过程 java具有跨平台特性 :一次编译,随处运行 java的跨平台能力主要是JVM【Java ...
  • JavaSE入门 P1 【Java基础】Java语言概述
  • JavaSE入门学习7:Java基础语法之语句(下) 继续接着Java基础语法来:JavaSE入门学习5:Java基础语法(一)和JavaSE入门学习6:Java基础语法(二)。 语句 Java经常使用的3种循环:while。do......
  • JavaSE入门 P6 【面向对象】概述&封装 1.面向对象思想 2.对象的内存图 3.private this关键字和封装 4.构造方法 5.课后练习

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,295
精华内容 1,318
关键字:

javase入门

java 订阅