演算子と式
17417 ワード
1.2つの整数変数に対して除算、型取り、自己加算を行う
(1)プロジェクトMyProject 2でDivModDemoクラスを作成する.
(2)コードエディタに次のコードを入力します.
(3)プログラムを実行してデバッグし,DivModDemoクラスの実行結果を観察する.
2.バイナリの移動アルゴリズム
(1)プロジェクトMyProject 2にBitShiftDemoクラスを作成する.
(2)コードエディタに次のコードを入力します.
(3)プログラムを実行してデバッグし,結果を観察する.
ヒント:整形変数をバイナリに変換する文字にはIntegerを使用します.toBinaryString()完了、バイナリ左シフト<、右シフト>>完了.>>は符号なし右シフト演算子で、変数値が右シフトした後、左側に0を補います.
3.関係演算と論理演算の混合演算
(1)プロジェクトMyProject 2にOperationDemoクラスを作成する.
(2)コードエディタに次のコードを入力します.
(3)観察プログラムの実行結果を実行してデバッグする.
4.キーボードから2つの整数を入力し、次のプログラムで2つの整数の和を計算し、演算結果を出力します.
5.キーボードから円の半径を入力し、円の面積を求めて結果を出力するプログラムを作成します.
6.次のプログラムをデバッグし、プログラムの実行結果を分析します.
(1)プロジェクトMyProject 2でDivModDemoクラスを作成する.
(2)コードエディタに次のコードを入力します.
/**
*
*/
/**
* @author solo
*
*/
public class DivModDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=8,b=5;
System.out.println(a+"/"+b+"="+a/b);
System.out.println(a+"/"+(-b)+"="+a/-b);
System.out.println(-a+"/"+b+"="+-a/b);
System.out.println(-a+"/"+(-b)+"="+(-a)/(-b));
System.out.println(a+"%"+b+"="+a%b);
System.out.println(a+"%"+(-b)+"="+a%-b);
System.out.println(-a+"%"+b+"="+(-a)%b);
System.out.println(-a+"%"+(-b)+"="+-a%-b);
System.out.println(++a+"+"+b+"="+(++a)+b);
System.out.println(a+++"+"+(-b)+"="+--a+-b);
System.out.println(-++a+"+"+b+"="+-++a+b);
System.out.println(-a+++"+"+(-b)+"="+-a+++-b);
System.out.println(a);
}
}
(3)プログラムを実行してデバッグし,DivModDemoクラスの実行結果を観察する.
2.バイナリの移動アルゴリズム
(1)プロジェクトMyProject 2にBitShiftDemoクラスを作成する.
(2)コードエディタに次のコードを入力します.
/**
*
*/
/**
* @author solo
*
*/
public class BitShiftDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=-16,b=16;
System.out.println("******************************");
System.out.println("a :"+Integer.toBinaryString(a));
System.out.println("a 1 "+Integer.toBinaryString(a<<1));
System.out.println(a+"<<2="+(a<<2));
System.out.println("******************************");
System.out.println("a :"+Integer.toBinaryString(a));
System.out.println("a 1 "+Integer.toBinaryString(a>>1));
System.out.println(a+">>2="+(a>>2));
System.out.println("******************************");
System.out.println("a :"+Integer.toBinaryString(a));
System.out.println("a 1 "+Integer.toBinaryString(a>>>1));
System.out.println(a+">>>2="+(a>>>2));
System.out.println("******************************");
System.out.println("b :"+Integer.toBinaryString(b));
System.out.println("b 1 "+Integer.toBinaryString(b<<1));
System.out.println(b+"<<2="+(b<<2));
System.out.println("******************************");
System.out.println("b :"+Integer.toBinaryString(b));
System.out.println("b 1 "+Integer.toBinaryString(b>>1));
System.out.println(b+">>2="+(b>>2));
System.out.println("******************************");
System.out.println("b :"+Integer.toBinaryString(b));
System.out.println("b 1 "+Integer.toBinaryString(b>>>1));
System.out.println(b+">>>2="+(b>>>2));
System.out.println("******************************");
}
}
(3)プログラムを実行してデバッグし,結果を観察する.
ヒント:整形変数をバイナリに変換する文字にはIntegerを使用します.toBinaryString()完了、バイナリ左シフト<、右シフト>>完了.>>は符号なし右シフト演算子で、変数値が右シフトした後、左側に0を補います.
3.関係演算と論理演算の混合演算
(1)プロジェクトMyProject 2にOperationDemoクラスを作成する.
(2)コードエディタに次のコードを入力します.
/**
*
*/
/**
* @author solo
*
*/
import java.io.*;
public class OperationDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=25,b=3;
boolean d=a<b;
System.out.println(a+"<"+b+"="+d);
int e=3;
d=(e!=0&&a/e>5);
System.out.println(e+"!=0&&"+a+"/"+e+">5="+d);
int f=0;
d=(f!=0&&a/f>5);
System.out.println(f+"!=0&&"+a+"/"+f+">5="+d);
d=(f!=0&&a/f>5);
System.out.println(f+"!=0&&"+a+"/"+f+">5="+d);
}
}
(3)観察プログラムの実行結果を実行してデバッグする.
4.キーボードから2つの整数を入力し、次のプログラムで2つの整数の和を計算し、演算結果を出力します.
/**
*
*/
/**
* @author solo
*
*/
import java.io.*;
public class MySumDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int num1,num2,sum;
String str="";
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Input the first integer:");
try
{
str=buf.readLine();
}
catch(Exception e)
{
}
num1=Integer.parseInt(str);
System.out.print("Input the second integer:");
try
{
str=buf.readLine();
}
catch(Exception e)
{
}
num2=Integer.parseInt(str);
sum=num1+num2;
System.out.println("The sum is "+sum);
}
}
5.キーボードから円の半径を入力し、円の面積を求めて結果を出力するプログラムを作成します.
/**
*
*/
/**
* @author solo
*
*/
import java.io.*;
public class CircleArea {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
double area;
int radius;
Circle1 circle=null;
String str="";
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Input the radius:");
try
{
str=buf.readLine();
}
catch(Exception e)
{
}
radius=Integer.parseInt(str);
circle=new Circle1(radius);
area=circle.getArea();
System.out.println(" :"+area);
}
}
class Circle1{
double radius,area;
Circle1(double r){
radius=r;
}
double getArea(){
area=3.14159265*radius*radius;
return area;
}
}
6.次のプログラムをデバッグし、プログラムの実行結果を分析します.
/**
*
*/
/**
* @author solo
*
*/
public class SanmuTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int iBig=2;
int iSmall=1;
boolean result=(iBig>=iSmall)?true:false;
System.out.println("Result Is:"+result);
}
}