初识Java(二)(自己学习整理的资料)

目录

一.变量的概念

变量三要素

生活实例​编辑

案例

二.变量命名规范

三.Java中常用的数据类型

四.常量的概念

注意事项

五.运算符的分类和使用

1.赋值运算符

2.算术运算符

3.自增运算符

4.自减运算符

练习题

六.类型转换

1.自动类型转换条件

2.强制类型转换

练习题

七.Scanner类

练习题

 八.学习笔记


一.变量的概念

  • 电脑使用内存来计算所使用的数据。(所有在运行中的数据都保存在内存中)

  • 在程序运行期间其值可以改变的量称为变量。(变量可以看成内存上的一块空间)

  • 变量必须先定义后使用。(定义变量的目的是为了保存数据)

  • 定义变量时,系统根据定义的类型来给变量开辟对应大小的存储单元,使其用来存放数据。(变量类型的不同,决定了在内存中占用空间大小的不同)

  • 变量三要素
  1. 类型(决定了占用空间的大小)

  2. 名称(如何提取数据)

  3. 变量值(可以改变的)

  • 生活实例
  • 案例
  • 已知电影的票价为15元,计算10人订票总票价为多少?

    public class lian {
        public static void main(String[] args) {
          int price = 15;
          int num = 10;
          int money = price * num;
            System.out.println("总金额为" + money + "元");
        }
    }

    代码中变量含义     price:价格     num:数量    money:总金额

二.变量命名规范

  1. 标识符不能和系统里的关键字同名。(标识符=变量名)

  2. 标识符只能包括字母(a~z\A~Z)、数字和下划线“_”,并且开头只能是字母或下划线。

  3. 标识符必须先定义后使用。

  4. 在同一作用域内,标识符不能重复定义。(As:一个班级里的学号)

  5. 标识符是区分大小写的,ps:sum和Sum是不同的标识符。

  6. 标识符要尽量做到“见名知义”,增强程序的可读性。(As:学生名字,可以定义成Stuname)

三.Java中常用的数据类型

数据类型案例

int

(整型)

用于存储整数

As:-10、0、10

double

(双精度浮点型)

用于存储小数

As:1.5、2.3

char

(字符型)

用于存储单个字符

As:‘a’、‘3’

String

(字符串)

用于存储一串字符

As:“Java编程”、“我爱中国”

public class lian {
    public static void main(String[] args) {
        //Java中常用的数据类型
        int num = 5;
        //双精度浮点数   用于保存小数
        double height = 5.55;
        //性别
        char gender = '男';
        //字符串  “”
        String name = "小明";
    }
}

Ps:" ":空字符串      "a":单个字符的字符串

四.常量的概念

  • 在程序运行过程中,其值不能改变的量称为常量。

  • final double PI = 3.14。(final可以使变量变成常量,规则:把常量的所有名称里的字母全部改为大写)

  • 优点:比较安全,后续代码不允许更改其值。(常量一旦定义,后续谁也没有能力更改它的值,如果强行更改,则会报错)

    public class lian {
        public static void main(String[] args) {
           //变量的定义方式
            double pi = 3.14;
           //常量的定义方式
            final double PI = 3.14;
            PI = PI + 1;//PI会报错
            System.out.println(PI);
        }
    }
  • 注意事项
  1. 常量名通常大写。

  2. 只能被赋值一次,通常定义时即对其进行初始化。

五.运算符的分类和使用

1.赋值运算符
  • = (变量名     =      表达式)

Ps:赋值语句的作用就是:把赋值号右边的值(或表达式的值)赋值给左边的变量。

2.算术运算符
  • +
  • -
  • *
  • /:取整
  • %:取余数
数学符号+X÷
Java中的运算符号+-*/

例:

public class lian {
    public static void main(String[] args) {
      int num1 = 5;
      int num2 = 2;
      int a = num1 % num2;
      int b = num1 / num2;
        System.out.println(num1 + "%" + num2 + "=" + a);
        System.out.println(num1 + "/" + num2 + "=" + b);
    }
}

Ps:在Java中两个整数相除得不到小数,得到的为小数点前的整数,小数点后一律抛弃。

3.自增运算符

int num = 2;
num++;
System.out.println(num);

4.自减运算符

int num = 2;
num--;
System.out.println(num);

Ps:   num++:++在后是先取出变量的值参与运算,然后再让变量的值+1。

           ++num:++在前是先让变量的值+1,然后参与运算 。

public class lian {
    public static void main(String[] args) {
        int num = 2;
     System.out.println(num++);//输出结果为2
        System.out.println(++num);//输出结果为4
    }
}
练习题
  • 已知圆的半径为2.5,求圆的周长和面积(提示:double pi = 3.14)
public class lian {
    public static void main(String[] args) {
        final double PI =3.14;
        double r = 2.5;
        double c = 2 * r * PI;
        double s = c / 2 * r;
        System.out.println("圆的周长为:" + c +"\n" + "圆的面积为:" + s);
    }
}

六.类型转换

1.自动类型转换条件
  • 类型相容(As:同样是数字,同样是字符等)

  • 目标类型>源类型(As:double > int)

  • public class lian {
        public static void main(String[] args) {
    double num1 =1.5;
    int num2 = 2;//int转换为double,把2赋值给double变成2.0
            System.out.println(num1+num2);//输出值为3.5
        }
    }
2.强制类型转换
  • 类型相容(As:同样是数字,同样是字符等)

  • (类型名)表达式(As:int < double,强制转换一般是因为有特殊的原因)

As:(强制转换可能会造成数据丢失,丢失的数据由程序员负责)

public class lian {
    public static void main(String[] args) {
        double a = 3.5;
        int b = (int)a;
        System.out.println(b);//输出结果为3
    }
}
练习题

实现一个数字加密器,加密的规则为:

  1. 加密结果=(整数*5+2)/2+4.7。
  2. 加密结果仍然要为整数。
import java.util.Scanner;

public class lian {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个数:");
        double num = scanner.nextInt();//从屏幕输入一个数
       double jia = (num * 5 + 2) / 2 + 4.7;
        System.out.println((int)jia);
        scanner.close();
    }
}

七.Scanner类

  • 格式

  • 如果接收整数则代码为  :  int num = scanner.nextInt();
  • 作用:接收用户从键盘输入的内容

练习题
  • (一)已知班级有20名男同学,他们的平均分为87,还有15位女同学,她们的平均分为85,求全体同学的平均分是多少?
public class lian {
    public static void main(String[] args) {
        double ping = 87;
        int boy = 20;
        int girl = 15;
        double ping2 = 85;
        double all = (ping - ping2)*boy / (boy + girl) + ping2;//结果为86.14285714285714
        String all1 = String.format("%.1f",all);
        System.out.println("平均分为:" + all1);//输出86.1
    }
}
  • (二)对123这个三位数进行数位分离
public class lian {
    public static void main(String[] args) {
    int num = 123;
    int ge = num % 10;//个位
    int shi = num / 10 % 10;//十位
    int bai =num / 100;//百位
        System.out.println("个位为:" + ge);
        System.out.println("十位为:" + shi);
        System.out.println("百位为:" + bai);
    }
}

 Ps:思路      把数除以10取余来获得个位;把数除以100取整来获得百位;综上把数除以10取整再除以10取余来获得十位。

  • (三)输入两个整型变量a,b,交换他们的值,并输出交换后的结果
public class lian {
    public static void main(String[] args) {
  int a = 5,b = 9;
        System.out.println("交换前:a=" + a +",b="+b);//输出a=5,b=9
  //交换代码   黄金三行
  int temp = a;
  a = b;
  b = temp;
        System.out.println("交换后:a=" + a +",b="+b);//输出a=9,b=5
    }
}
  • (四)一个三位数,百位上的数比十位上的数大1,个位上的数是百位上的数的2倍,若十位上的数为3,这个三位数是多少?
public class lian {
    public static void main(String[] args) {
  int shi = 3;
  int bai = shi + 1;
  int ge = bai * 2;
        System.out.println("这个数是:" + bai + shi + ge);//输出438
    }
}
  •  (五)输入一个小写字母,输出其对应的大写字母。
import java.util.Scanner;

public class lian {
    public static void main(String[] args) {
        //先从键盘接收一个字符串,然后用charAt()
        Scanner input = new Scanner(System.in);//输入lian
        char lian = input.next().charAt(0);//下标为0代表取第一个字符
        char bigLian = (char)(lian - 32);
        System.out.println(bigLian);//输出L
    }
}

 八.学习笔记

  • int:存放整数类型。

  • Scanner:扫描仪。

  • input.next:接收整个字符串。

  • charAt():接收第几个符号,0是第一个以此类推。

  • String.format:对小数位数进行控制,但是它返回的结果为字符串类型。

  • temp:临时变量。

  • ASCII表:a是97,A是65,因此大小写相差32。

  • 不同类型存储空间:char < int <float < double。

  • 显式转换:double > float > int > char。(>代表左边的类型往右边的类型转换) 

  • 隐式转换:char > int > float > double。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值