java基础--操作符

1.操作符

在Java中操作符有以下几类:

  • 算术运算符
  • 关系操作符
  • 逻辑运算符
  • 位操作符
  • 赋值操作符
  • 三元操作符

1.1算术运算符

常见的操作符有:+,-,*,/,%,++,--

1.1.1基本的加 减 乘 除

public class HelloWorld {
    public static void main(String[] args) {
        int i = 10;
        int j = 5;
        int a = i+j;
        int b = i - j;
        int c = i*j;
        int d = i /j;
    }
}

1.1.2从键盘读取数据

需要用到从控制台输入数据,所以需要用到Scanner类,这个类在java.util包中 。

可以使用scanner中的方法:

  • next():读取一行数据
  • nextLine():读取一行数据
  • nextInt():读取一个整型数据
  • 同理还可以是其他类型如nextFloat()等等

例子:从键盘输入两个数,并输出他们的和

import java.util.*;

public class addNum {
    public static void main(String[] args) {
        System.out.print("first num:");
        int num1=new Scanner(System.in).nextInt();
        System.out.print("second num:");
        int num2=new Scanner(System.in).nextInt();
        System.out.println("the sum is:"+(num1+num2));
    }
}

1.1.3取模%与取整/

int i=13%2;//i=1int j=13/2;//j=6

1.1.4自增与自减(++,--)

在原来的基础上增加1或者减少1

public class HelloWorld {
    public static void main(String[] args) {

        int i = 5;
        i++;
        System.out.println(i);//输出为6

    }
}

但自增与自减有前置和后置的区别:

前置++:先+1,后取值

后置++:先取值,后+1

public class HelloWorld {
    public static void main(String[] args) {
        int i = 5;
        System.out.println(i++); //输出5
        System.out.println(i);   //输出6

        int j = 5;
        System.out.println(++j); //输出6
        System.out.println(j);   //输出6
    }
}

1.1.6小程序BMI

BMI的计算公式是 体重(kg) / (身高*身高)

import java.util.Scanner;

public class BMI {
    public static void main(String[] args) {
        System.out.print("请输入你的体重:");
        float weight=new Scanner(System.in).nextFloat();
        System.out.print("请输入你的身高:");
        float height=new Scanner(System.in).nextFloat();
        System.out.println("你的BMI为:"+weight/(height*height));
    }
}

1.2关系操作符

常见的关系操作符有:>, >= ,< , <= ,,== ,!= 

public class HelloWorld {
    public static void main(String[] args) {
       int a = 5;
       int b = 6;
       int c = 5;

       System.out.println(a>b);  //返回 false
       System.out.println(a>=c);  //返回 true

       System.out.println(a==b); //返回false
       System.out.println(a!=b);//返回true

}
}

1.3逻辑运算符

常见的逻辑运算符有:&,|,!,&&,||,^

1.3.1与,或,非

与:只有都为真时才为真

或:只要有一个为真则为真

非:取反

public class HelloWorld {
    public static void main(String[] args) {
        //长路与  无论第一个表达式的值是true或者false,第二个的值,都会被运算
        int i = 2;
        System.out.println( i== 1 & i++ ==2  ); //无论如何i++都会被执行,所以i的值变成了3
        System.out.println(i);

        //短路与 只要第一个表达式的值是false的,第二个表达式的值,就不需要进行运算了
        int j = 2;
        System.out.println( j== 1 && j++ ==2  );  //因为j==1返回false,所以右边的j++就没有执行了,所以j的值,还是2
        System.out.println(j);     

    }
}

1.3.2&&,||

&&:只要第一个表达式为假,则后面的不用计算,直接为假

||:只要第一个表达式为真,则为真,后面的不用计算

public class HelloWorld {
    public static void main(String[] args) {
        //长路或  无论第一个表达式的值是true或者false,第二个的值,都会被运算
        int i = 2;
        System.out.println( i== 1 | i++ ==2  ); //无论如何i++都会被执行,所以i的值变成了3
        System.out.println(i);

        //短路或 只要第一个表达式的值是true的,第二个表达式的值,就不需要进行运算了
        int j = 2;
        System.out.println( j== 2 || j++ ==2  );  //因为j==2返回true,所以右边的j++就没有执行了,所以j的值,还是2
        System.out.println(j);     

    }
}

1.3.3异或^

不同为真,相同为假。

public class HelloWorld {
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;

        System.out.println(a^b); //不同返回真
        System.out.println(a^!b); //相同返回假

    }
}

1.4位操作符

常见的位操作符有:&,|,!,^,<<,>>

1.4.1位或|

0|0=0,其他都为1

public class wiehuo {
    public static void main(String[] args) {
        int i=2,j=3;
        System.out.println(Integer.toBinaryString(i));//10
        System.out.println(Integer.toBinaryString(j));//11
        System.out.println(i|j);//3
        System.out.println(Integer.toBinaryString(i|j));//11

    }
}

Integer.toBinaryString():可以将一个数转化为2进制

1.4.2位与&

1&1=1,其他为0

public class weiyu {
    public static void main(String[] args) {
        int i=5,j=6;
        System.out.println(Integer.toBinaryString(i));//101
        System.out.println(Integer.toBinaryString(j));//110
        System.out.println(Integer.toBinaryString(i&j));//100
        System.out.println(i&j);//4

    }
}

1.4.3异或^

相同为0,相异为1.

public class yihuo {
    public static void main(String[] args) {
        int i=5,j=6;
        System.out.println(Integer.toBinaryString(i));//101
        System.out.println(Integer.toBinaryString(j));//110
        System.out.println(Integer.toBinaryString(i^j));//011
        System.out.println(i^j);//3

    }
}

1.4.4左移,右移

左移:根据一个整数的二进制表达,将其每一位都向左移动,最右边一位补0
右移:根据一个整数的二进制表达,将其每一位都向右移动

public class weiyi {
    public static void main(String[] args) {
        int i=5;
        System.out.println(Integer.toBinaryString(i));//101
        System.out.println(Integer.toBinaryString(i<<1));//左移一位1010
        System.out.println(Integer.toBinaryString(i>>1));//右移一位10

    }
}

1.5赋值操作符

1.6三元操作符

原文地址:https://www.cnblogs.com/knight11/p/9334825.html

时间: 2024-10-12 21:13:12

java基础--操作符的相关文章

JAVA 基础 操作符

JAVA操作符 赋值操作符 赋值操作符(=)表示:取右边的值(即右值),把它复制给左边(即左值). 右值可以是任意的常量.变量或表达式(只要可以生成一个值). 左值必须是一个明确的.已命名的变量. public class Test {     public static void main(String[] args) {         int num = 10;         System.out.println("num = " + num);         num = 2

Java基础串理

今天抽了些时间翻阅资料复习一下Java部分基础知识,现整理笔记在此以备巩固. Java主要应用领域 –企业级应用:主要指复杂的大企业的软件系统.各种类型的网站.Java的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用.应用领域包括金融.电信.交通.电子商务等. –Android平台应用:Android应用程序使用Java语言编写.Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实. –移动领域应用,主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,

Java 基础之认识 Annotation

Java 基础之认识 Annotation 从 JDK 1.5 版本开始,Java 语言提供了通用的 Annotation 功能,允许开发者定义和使用自己的 Annotation 类型.Annotation 功能包括了关于定义 Annotation 类型的语法,对声明式进行注解的语法,读取 Annotation 的 API,Annotation 在 class 文件中的表现,以及 Annotation 处理工具(APT). Annotation 并不直接对程序的语法产生作用,但是会提供一些程序之

java基础之&amp; 和 &amp;&amp; 的区别

&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false. &&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(""))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerExceptio

Java基础常见英语词汇

(转自http://www.jianshu.com/p/2743fe834166) Java基础常见英语词汇(共70个) ['?bd?ekt] ['?:rientid]导向的 ['pr??ɡr?m??]编程OO: object-oriented ,面向对象 OOP: object-oriented programming,面向对象编程 [d?'vel?pm?nt][k?t]工具箱 ['v??tj??l]虚拟的JDK:Java development kit, java开发工具包 JVM:java

JAVA基础知识点总结(全集)

1.JAVA简介 1.1java体系结构:j2se,javaweb,j2ee 1.2java特点:平台无关(虚拟机),垃圾回收(使得java更加稳定) 1.3 JDK与JRE,JDK:java开发环境,JRE:java运行环境 1.4第一个java程序:HelloWorld,java的入口是main(public static void main(String[] args)) 1.5java程序的开发步骤:.java编译(javac)成.class运行(java).class文件 2.基本数据

Java基础知识【下】( 转载)

http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没有考虑到会坚持往后边写,这次应该是更新该内容.而且很讨厌写基础的东西,内容比较琐碎,而且整理起来总会很多,有可能会打散成两个章节,但是我不保证,有可能一个章节就写完了,所以有时候希望基础的很多内容还是读者自己去看看,我基本保证把基础的内容全部都写出来,见谅.这一个章节写了过后我会把前边那个关于基础类

java基础知识小小结

java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程序的文件名就可以随意命名了. 文档注释,是以单斜线加两个星形标记( /**)开头,并以一个星形标记加单斜线( */)结束.用这种方法注释的内容会被解释成程序的正式文档,并能包含进如 javadoc之类的工具生成的文档里,用以说明该程序的层次结构及其方法. Java 把整数常量的数据类型均视为 int

[Java基础] Java对象内存结构

转载地址:http://www.importnew.com/1305.html 原文于2008年11月13日 发表, 2008年12月18日更新:这里还有一篇关于Java的Sizeof运算符的实用库的文章. 学C/C++出身的我,对Java有一点非常困惑,那就是缺乏计算对象占用内存大小的机制.而在C++中就可以通过sizeof运算符来获得基本类型以及类实例的大小.C和C++中的这个操作符对于指针运算.内存拷贝和IO操作都非常有用. Java中并没有一个类似的运算符.事实上,Java也不需要这种运