首页 > 编程语言 >Java基础语法与运算符

Java基础语法与运算符

时间:2022-10-28 21:56:54浏览次数:48  
标签:语法 Java 10 int 数据类型 System 运算符 println out

Java基础语法

数据类型

8大基本数据类型

整数类型

  • byte 1字节
  • short 2字节
  • int 4字节(整数默认数据类型)
  • long 8字节 (赋值的字面量结尾要加l或L)

浮点数类型

  • float 4字节(赋值的字面量结尾要加f或F)
  • double 8字节(浮点数默认字节)

字符数据类型

  • char 2字节

布尔型

  • boolean 1字节
//目标:掌握整数型和浮点型变量的定义与使用
public class Demo01 {
    public static void main(String[] args) {
        /**
         * 赋值:
         *      给long类型变量赋值时,字面量加L或l,推荐L
         *      给float类型变量赋值时,字面量加F或f
         *      给Double类型变量赋值时,字面量加D或d
         *
         * 默认类型:
         *      整数默认int类型
         *      小数默认double类型
         */

        byte i = (byte)128;
        System.out.println(i);

        int a = (int) 3.74;
        System.out.println(a);

        long b = 12121;

        float c = 1.2f;

        double d = 1.33;

        byte o = 2+3;
        System.out.println(o);


        System.out.println(num1.add(num2));

    }
}

类型转换

自动类型转换

数据类型小的数值或变量可以直接赋值给数据类型大的变量

byte a = 2;
int b = a;

在运算过程中,同时有取值范围小的数据类型和取值范围大的数据类型,会先将小的数据类型转换为大的相同类型,然后在计算

byte a = 3;
int b = 5;
int c = a + b; // a会先转换为int型再与b相加最终得到的结果也是int

特殊:byte char short三种类型参与运算的时候,会先提升数据类型为int,然后做运算

byte a = 1;
byte b = 2;
int c = a + b; //a和b在相加之前会先提升为int然后相加

强制类型转换

数据类型大的数值或变量不能直接赋值给数据类型小的变量,但是可以进行强制类型转换来实现,但是可能会损失一定的精度

格式:

目标数据类型 变量 = (目标数据类型)被强转的数据;

byte a = (byte)128 // 最后的结果是-128,由于byte类型的数据范围是-128~127,所以128存为byte类型会有精度损失

键盘录入

使用Scanner类来实现键盘录入,可以让程序中的数据变得更加灵活,在不改变程序的前提下,可以让程序中的数据每次不一样

使用方法:

1.导入Scanner类所在的包
import java.util.Scanner
2.创建Scanner对象
   Scanner sc = new Scanner(System.in);
3.使用Scanner类键盘录入数据的的方法
    int num = sc.nextInt(); //键盘录入一个整数
	String s = sc.next();// 键盘录入一个字符串
   

运算符

算数运算符

+	//加法
_ 	//减法
*	//乘法
/	//除法,只能得到整数部分的结果
%	//取余
    
public class Demo01 {
    public static void main(String[] args) {
        /**
         * 作用:对数据进行加(+)、减(-)、乘(*)、除(/)和取余数(%)运算
         *
         * 注意:两个整数相除结果只能是整数,要想得到小数,必须得有小数参与
         */

        int a = 1;
        int b = 2;
        System.out.println(a+b);

        System.out.println(a-b);

        System.out.println(a*b);

        System.out.println(a/b);

        System.out.println(a%b);

        System.out.println(5.0/2);
        System.out.println(5.0/2.0);
        System.out.println(5/2.0);

    }
}
//需求:键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台
public class Demo02 {
    public static void main(String[] args) {
        /**
         * 公式总结:
         *      个位 :数值 % 10
         *      十位 :数值 / 10 % 10
         *      百位 :数值 / 10 / 10 % 10
         *      千位 :数值 / 10 / 10 / 10 % 10;
         *      ...
         */

        Scanner sc = new Scanner(System.in);

        System.out.println("请输入三位数的整数");
        int num = sc.nextInt();

        int ge = num % 10;
        int shi = num / 10 % 10;
        int bai = num / 10 / 10 % 10;

        System.out.println("个位:" + ge);
        System.out.println("十位:" + shi);
        System.out.println("百位:" + bai);

    }
}

自增自减运算符

简化变量的+1操作,从原来的a = a+1 ==> a++

分为参与运算和不参与运算的情况

//不参与运算 符号在前在后没有区别
        int count = 2;
        count++;
        System.out.println(count); //结果为3

//参与运算,符号在前先自加再运算,符号在后,先运算再自加

        int a = 3;
        int b = a++;
        System.out.println(b);//b的结果为3,因为a是先参与计算再自加

        int m = 3;
        int n = ++m;
        System.out.println(n);// 结果为4,m是先自加变成4再赋值给n

赋值运算符

"=" 将数据值存入到一个变量中

基本赋值运算

= //把符号右边的值交给符号左边

扩展的赋值运算

+=  // a+=b 相当于 a = a + b;
-=  // a-=b 相当于 a = a - b;
*=  // a*=b 相当于 a = a * b;
/=  // a/=b 相当于 a = a / b;
%=  // a%=b 相当于 a = a % b;
注意:
   扩展的赋值运算默认自带强制类型转换
    a+=2 相当于 a = (a的类型)+2;
    

关系运算符

也叫比较运算符,用来比较符号两边的数据大小关系是否成立

> < == >= <=
特点:他们的结果都是布尔类型,true代表成立 false代表不成立

逻辑运算符

按位逻辑运算符:
& //逻辑与:遇false则false
| //逻辑或:遇true则true
! //非:非真即假,非假即真
^ //相同为false,相反为true

短路逻辑运算符:
&& //短路与:规则和&一样,具有短路效果
|| //短路或:规则和|一样,具有短路效果
    
短路:当符号左边的结果可以决定整体的结果时,符号右边的内容不参与运算

三元运算符

可以根据某一条件是否满足来从两个结果中进行二选一,可以用来比较两个数,得到较大值或较小值
    //需求:键盘录入三个整数,找出最大值并打印在控制台
public class Demo09 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入三个整数");

        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        int num3 = sc.nextInt();

        int temp = num1 > num2 ? num1 : num2;

        int max = temp > num3 ? temp : num3;

        System.out.println("最大值为:" + max);

    }
}

标签:语法,Java,10,int,数据类型,System,运算符,println,out
From: https://www.cnblogs.com/ly1372/p/16837636.html

相关文章

  • java http web getToken and login.
    LogInHelper.javapackagecom.yd.dcap.integration.helper;importcom.fasterxml.jackson.annotation.JsonIgnoreProperties;importcom.yd.dcap.integration.EnvConf......
  • JAVA 期中考试
    前言这次JAVA期中考试,总体上来讲几乎没有难度。只要上课认真听了,并且下课有认真写PTA的话,我认为难度几乎就是0。因为题目简单,也不涉及到什么设计的内容(因为类图......
  • 【笔记05】Javascript - 基本概念 - (函数递归)
    先看一个试题: 求n的阶乘通常,我们会写:functionfac(num){varres=1;for(vari=1;i<=num;i++){res*=i;}returnres;}观察阶乘可以发现两个特点:特点一:......
  • java题目集总结4~5&期中
    1.前言:在这一阶段Java的学习过程中,我们学习了继承与多态,抽象类与接口,异常处理方式以及圈复杂度的判定还有其他的常用方法等,进行完成了更进一步的相关大作业(点线形系......
  • Java多线程(5):CAS
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~​在JDK1.5之前,Java的多线程都是靠synchronized来保证同步的,这会引起很多性能问题,例如死锁。但随着Java的不断完善,JNI(Java......
  • JavaScript--DOM
    一、DOM的概述1、文档对象模型(DOM,DocumentObjectModel)是HTML和XML文档的编程接口。DOM表示由多层节点构成的文档,通过它开发者可以添加、删除和修改页面的各个部分......
  • JavaScript--ES5和ES6(上)
    一、概述es表示ECMASCript,他是从es3,es5,es6,es5是2009.12月发布的,es6是2015.6月发布的。vue2完全支持es5的(vue3完全支持es6的),react完全支持es6二、es5的新特性1、严格模......
  • JavaScript--cookie
    一、概述cookie总是保存在客户端中(浏览器端)。cookie为了保存sessionID出现的。cookie的出现解决了http无状态的问题。二、特性cookie是不安全的cookie是可以被篡......
  • JavaScript--Date
    一、Date的概述在JavaScript中,Date类型是用来保存日期的,它能精确到1970年1月1日之前或之后的285616年。二、Date的声明使用new关键字声明要创建一个日期对象,使用new操......
  • JavaScript--_==_和_===_
    一、""和"="简单介绍1)宽松相等(looseequals)==和严格相等(strictequals)===都用来判断两个值是否“相等”,但是它们之间有一个很重要的区别,特别是在判断条件上。2)正确的解......