配套视频教程

本文B站配套视频教程

常量

(1)在程序执行的过程中,其值不产生扭转的量

(2)字面值常量    A:字符串常量 "hello"    B:整数常量    12,23    C:小数常量    12.345    D:字符常量    'a','A','0'    E:布尔常量    true,false    F:空常量    null(前面讲)
/*    常量:        在程序执行过程中,其值不产生扭转的量。            分类:        A:字面值常量        B:自定义常量(前面讲)            字面值常量        A:字符串常量    用双引号括起来的内容。            举例:"hello","world","HelloWorld"        B:整数常量    所有的整数            举例:100,200        C:小数常量    所有的小数            举例:10.23,110.11        D:字符常量    用单引号括起来的内容            举例:'a','A','0'            谬误的:'ab'        E:布尔常量    比拟非凡            举例:true,false        F:空常量    前面讲            举例:null*/class ConstantDemo {    public static void main(String[] args) {        //字符串常量的输入        System.out.println("hello");                //整数常量的输入        System.out.println(100);                //小数常量的输入        System.out.println(100.10);                //字符常量的输入        System.out.println('a');        System.out.println('A');        System.out.println('0');        //这个是有问题的,字符常量有单引号,字符串常量用双引号        //System.out.println('ab');                //布尔常量的输入        System.out.println(true);        System.out.println(false);    }}

变量的三要素

类型,变量名,保留的值

根本数据类型

  1. 数值
  • 整数 byte,short,int,long
    25,-987, 0
  • 小数 float,double
    5.23,3.14
  1. 字符串
  • 字符串 String

"你好","中国的首都"

  • 字符 char

'a', '的'

  1. 布尔型

boolean

应用一个变量的步骤

  1. 定义一个变量

数据类型 变量名;
int money;

2.给变量赋值
变量名 = 数值;
money = 1000 ;

第一步和第二步能够合并
数据类型 变量名=数值;
int money = 1000;

3.应用这个变量
System.out.println(money );

    int age;//定义一个变量    age = 34; //给变量赋值    System.out.println(age); //在屏幕上输入变量的值        String name="zhangsan";//定义一个变量,并且马上给其赋值    System.out.println(name); //在屏幕上输入变量的值

定义几个变量

手机的品牌brand是华为,价格(price)2500,分量(weight)0.125千克,
色彩(color) 红

String brand = "华为";int price = 2500;double weight = 0.125;char color = '红';   System.out.println("手机品牌:" + brand);  System.out.println("手机价格:" + price);

获取用户输出

应用Scanner类

Scanner sc = new Scanner(System.in);
/* * Scanner:用于接管键盘录入数据。 *  * 后面的时候: *         A:导包 *         B:创建对象 *         C:调用办法 *  */import java.util.Scanner;public class ScannerDemo {    public static void main(String[] args) {        // 创建对象        Scanner sc = new Scanner(System.in);        int x = sc.nextInt();                System.out.println("x:" + x);    }}
        Scanner scanner = new Scanner(System.in);//定义一个从屏幕取得输出信息的变量scanner        System.out.println("请输入您的年龄");        int age = scanner.nextInt();//取得用户从屏幕输出的一个整数,有一个阻塞的副作用,艰深点说,就是程序卡在这里了        System.out.println("您的年龄是" + age);        System.out.println("请输入您的姓名");        String name = scanner.next();//取得用户从屏幕输出的一个字符串,有一个阻塞的副作用,艰深点说,就是程序卡在这里了        System.out.println("欢迎您" + name);

Scanner类的hasNextInt()和nextInt()办法

import java.util.Scanner;/* * 根本格局: *         public boolean hasNextXxx():判断是否是某种类型的元素 *         public Xxx nextXxx():获取该元素 *  * 举例:用int类型的办法举例 *         public boolean hasNextInt() *         public int nextInt() *  * 留神: *         InputMismatchException:输出的和你想要的不匹配 */public class ScannerDemo {    public static void main(String[] args) {        // 创建对象        Scanner sc = new Scanner(System.in);        // 获取数据        if (sc.hasNextInt()) {            int x = sc.nextInt();            System.out.println("x:" + x);        } else {            System.out.println("你输出的数据有误");        }    }}

Scanner类中的nextLine()产生的换行符问题

import java.util.Scanner;/* * 罕用的两个办法: *         public int nextInt():获取一个int类型的值 *         public String nextLine():获取一个String类型的值 *  * 呈现问题了: *         先获取一个数值,在获取一个字符串,会呈现问题。 * 如何解决呢? *         A:先获取一个数值后,在创立一个新的键盘录入对象获取字符串。 *         B:把所有的数据都先依照字符串获取,而后要什么,你就对应的转换为什么。 */public class ScannerDemo {    public static void main(String[] args) {        // 创建对象        Scanner sc = new Scanner(System.in);        // 获取两个int类型的值        // int a = sc.nextInt();        // int b = sc.nextInt();        // System.out.println("a:" + a + ",b:" + b);        // System.out.println("-------------------");        // 获取两个String类型的值        // String s1 = sc.nextLine();        // String s2 = sc.nextLine();        // System.out.println("s1:" + s1 + ",s2:" + s2);        // System.out.println("-------------------");        // 先获取一个字符串,在获取一个int值        // String s1 = sc.nextLine();        // int b = sc.nextInt();        // System.out.println("s1:" + s1 + ",b:" + b);        // System.out.println("-------------------");        // 先获取一个int值,在获取一个字符串,这里会出问题        // int a = sc.nextInt();        // String s2 = sc.nextLine();        // System.out.println("a:" + a + ",s2:" + s2);        // System.out.println("-------------------");        int a = sc.nextInt();        Scanner sc2 = new Scanner(System.in);        String s = sc2.nextLine();        System.out.println("a:" + a + ",s:" + s);    }}

运算符

  1. 赋值运算符
    =
员王浩的Java问题是80分,学员张萌的Java问题与王浩的雷同,输入张萌的问题
int wangScore = 80;    //王浩问题int zhangScore;        //张萌问题zhangScore = wangScore; System.out.println(“张萌问题是" +zhangScore);

2.算数运算符
+,-,*,/,%

        System.out.println(1600%5);//0-4        System.out.println(3%5);//3        System.out.println(3%2);//1        System.out.println(21%5);//1        System.out.println(13%4);//1//        System.out.println(m%n);//0----n-1        System.out.println(23%7);//2        System.out.println(25%7);//4

一个问题

用户在屏幕上输出一个天数,程序答复出是几周零几天?

   //  用户在屏幕上输出一个天数,程序答复出是几周零几天?        Scanner scanner = new Scanner(System.in);        System.out.println("请输出天数");        //取得用户输出的天数dayCount        int dayCount = scanner.nextInt();        System.out.println(dayCount+"天是"+ dayCount/7 + "周零" +  dayCount%7 + "天");

关系运算符

比拟高下、大小、长短等
张三的考试成绩是否比李四高
大象是否比乌龟更长命
篮球跟地球一样大吗

,<
==,!=
=,<=
boolean (布尔)类型
boolean类型的值:
真:true
假:false

表达式(3+40%6)>(9/2*3)的后果是什么?

false

从控制台输出张三同学的问题,与李四的问题(80分)比拟,输入“张三的问题比李四的问题高吗?” 的判断后果

int liSi = 80;          //学员李四问题boolean isBig ;            Scanner input = new Scanner(System.in);   System.out.print("输出学员张三问题: ");       int zhangSan =  input.nextInt();                     //输出张三的问题         isBig = zhangSan > liSi ; System.out.println( "张三问题比李四高吗 ? "+isBig );    //输入比拟后果

表达式

y = x-9+(x +90);

练习

商场推出侥幸抽奖流动
抽奖规定:
顾客的四位会员卡号的
各位数字之和大于20,
则为侥幸顾客。

类型转换

主动类型转换

某班第一次Java考试平均分81.29,第二次比第一次多2分,计算第二次考试平均分?
double firstAvg = 81.29;  //第一次平均分  double secondAvg;         //第二次平均分  int rise = 2;  secondAvg = firstAvg + rise;          System.out.println("第二次平均分是:"  + secondAvg);

规定1:如果一个操作数为double型,则整个表达式可晋升为double型

规定2:满足主动类型转换的条件
两种类型要兼容:
数值类型(整型和浮点型)相互兼容
指标类型大于源类型:
例如:double 型大于 int 型

强制类型转换

(类型名)表达式

int  b  = (int)10.2;double a = 10;int c = (int)a;
去年Apple笔记本所占市场份额是20,往年增长的市场份额是9.8,求往年所占份额?
int before = 20;     //apple笔记本市场份额double rise = 9.8;     //增长的份额int now = before+ (int)rise;      //当初的份额
当强制转换时,精度有损失