java_位操作符的运算

public class BitOperation
{
	public static void main(String args[])
	{
		/**
		*左移操作:5<<2;
		*先将左操作数5转换为二进制,0101,再向左移动右操作数2位,添零不足空位。为010100,转换为十进制数是20。
		*左移操作相当于乘法,每向左移动一位相当于将左操作数5乘以2。
		*右移操作:5>>2;
		*同上,即除以2。
		*/
		int i = 5;
		System.out.println("5<<2 = " + (i<<2));
		System.out.println("5>>2 = " + (i>>2));
		System.out.println("5>>33 = " + (i>>33));//因为i是int类型,所能表示的最大位数是32,
																						 //所以此语句相当于将变量5右移(33%32)(右操作数对左操作数的类型长度取余)位,即5>>1 = 2。
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现一个简单的 Java 计算器,可以使用 Java Swing 来创建一个用户界面,并使用 Java 的算术运算符来执行基本的数学运算。下面是一个简单的示例代码: ```java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator extends JFrame implements ActionListener { private JTextField textField; private JButton[] buttons; private String[] buttonLabels = { "7", "8", "9", "+", "4", "5", "6", "-", "1", "2", "3", "*", "0", ".", "=", "/" }; private double num1, num2, result; private String operator = ""; public Calculator() { super("Calculator"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(new BorderLayout()); textField = new JTextField(15); textField.setEditable(false); panel.add(textField, BorderLayout.NORTH); JPanel buttonPanel = new JPanel(new GridLayout(4, 4)); buttons = new JButton[16]; for (int i = 0; i < 16; i++) { buttons[i] = new JButton(buttonLabels[i]); buttons[i].addActionListener(this); buttonPanel.add(buttons[i]); } panel.add(buttonPanel, BorderLayout.CENTER); getContentPane().add(panel); pack(); setVisible(true); } public static void main(String[] args) { new Calculator(); } public void actionPerformed(ActionEvent e) { String label = e.getActionCommand(); if (label.equals("C")) { textField.setText(""); } else if (label.equals("=")) { num2 = Double.parseDouble(textField.getText()); if (operator.equals("+")) { result = num1 + num2; } else if (operator.equals("-")) { result = num1 - num2; } else if (operator.equals("*")) { result = num1 * num2; } else if (operator.equals("/")) { result = num1 / num2; } textField.setText("" + result); num1 = result; operator = ""; } else if (label.equals("+") || label.equals("-") || label.equals("*") || label.equals("/")) { num1 = Double.parseDouble(textField.getText()); operator = label; textField.setText(""); } else { textField.setText(textField.getText() + label); } } } ``` 这个计算器可以进行基本的加、减、乘、除运算。要实现连续运算,可以在等号按钮的事件处理程序中将运算结果存储到 num1 变量中,并清空操作符变量 operator,以便进行下一次运算。例如: ```java else if (label.equals("=")) { num2 = Double.parseDouble(textField.getText()); if (operator.equals("+")) { result = num1 + num2; } else if (operator.equals("-")) { result = num1 - num2; } else if (operator.equals("*")) { result = num1 * num2; } else if (operator.equals("/")) { result = num1 / num2; } textField.setText("" + result); num1 = result; operator = ""; } ``` 这样,用户就可以在计算器上进行连续的数学运算

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值