zoukankan      html  css  js  c++  java
  • 04747_Java语言程序设计(一)_第2章_运算和语句

    推荐使用f2

    public class Aserver {
    	public static void main(String args[]) {
    		float f1 = (float) 12.345;
    		float f2 = 12.345F;
    
    		System.out.println(f1);// f1其实是通过一个double类型转换过来的
    		System.out.println(f2);// f2本身就是一个float类型
    	}
    }
    

    面试题

    byte b = 128;

    public class Aserver {
    	public static void main(String args[]) {
    		byte b = (byte) 130;// -128~127
    
    		System.out.println(b);// -126
    		/*
    		 * A 获取130这个数据的二进制 00000000 00000000 00000000 10000010
    		 * 这是130的原码,也是反码,也是补码
    		 * 
    		 * B 截取操作 10000010 这个结果是补码
    		 * 
    		 * C 已知补码求原码 
    		 * 符号位         数值位 
    		 * 补码 1 0000010 
    		 * 反码 1 0000001 
    		 * 原码 1 1111110
    		 * 
    		 * D 结果是-126
    		 */
    	}
    }
    

    键盘录入数据:

    import java.util.Scanner;
    
    public class Aserver {
    	public static void main(String args[]) {
    		Scanner sc = new Scanner(System.in);// 创建键盘录入数据对象
    
    		System.out.println("请输入一个数据:");
    
    		int x = sc.nextInt();// 录入
    
    		System.out.println(x + 100);
    	}
    }
    

    例2.1实现当a>b成立时,输出a,否则,输出b。

    		if (a > b)// 询问a>b是否成立
    		{
    			System.out.println("MAX=" + a);// a>b成立时的工作
    		} else {
    			System.out.println("MAX=" + b);// a>b不成立时的工作
    		}
    

    例2.2若存于变量ch中的字符为大写英文字母,则将它改为对应的小写英文字母。

    		if (ch >= 'A' && ch <= 'Z')/* 大写英文字母 */
    		{
    			ch = ch + 'a' - 'A';/* 减去大写'A'的代码,加上小写'a'的代码 */
    		}
    

    例2.3已知三角形的三条边长a、b、c,求三角形的面积。

    		if (a + b > c && b + c > a && c + a > b) {
    			float s;/* 因为由多个语句组成,必须用花括号括住,变成复合语句 */
    			s = (a + b + c) / 2.0;
    			area = Math.sqrt(s * (s - a) * (s - b) * (s - c));// 调用数学类的方法
    		} else {
    			area = 0.0;
    		}
    

    例2.4根据考试成绩score输出对应文字。

    		if (score > 90) {
    			System.out.println("A");
    		} else if (score >= 80) {
    			System.out.println("B");
    		} else if (score >= 60) {
    			System.out.println("C");
    		} else {
    			System.out.println("F");
    		}
    

    例2.5已知天气情况wCon,安排相应活动。

    		switch (wCon)// 由于使用了break,正确实现要求
    		{
    		case 1:
    			System.out.println("上街购物!
    ");
    			break;
    		case 2:
    			System.out.println("去游泳!
    ");
    			break;
    		case 3:
    			System.out.println("在家看电视!
    ");
    			break;
    		default:
    			System.out.println("错误选择!
    ");
    		}
    

    例2.6计算

    y(x)=sin(x) 0.5<=x<1.5

    y(x)=ln(x) 1.5<=x<4.5

    y(x)=exp(x) 4.5<=x<7.5

    		switch ((int) (x + 0.5)) {
    		case 1:
    			y = Math.sin(x);
    			break;
    		case 2:
    		case 3:
    		case 4:
    			y = Math.log1p(x);
    			break;
    		case 5:
    		case 6:
    		case 7:
    			y = Math.exp(x);
    			break;
    		default:
    			System.out.printf("自变量x值超出范围
    ");
    			break;
    		}
    

    例2.7用while语句,输出数列1至n。

    		int count = 1;// 从1开始
    		while (count <= n) {
    			if (count < n) {
    				System.out.print(count + ",");// 两个数之间用逗号分隔
    			} else {
    				System.out.print(count);// 最后一个数输出后换行
    			}
    
    			count++;// count增1,准备输出下一个数
    		}
    

    例2.8用do..while语句计算整数n的十进制数位数。

    		int c = 0;
    		do {// 因循环体含有两个语句,将它们写成复合语句
    			n /= 10;
    			c++;
    		} while (n != 0);// 结果在变量c中
    

    例2.9用for语句,求

    s=1+2+3+...+100

    代码如下:

    		int s = 0;
    		int i = 0;
    
    		for (s = 0, i = 1; i <= 100; i++) {
    			s += i;
    		}
    

    例2.10已知直角三角形每边长为25以内的整数,求出所有这样的直角三角形三边长。

    public class Example2_10 {
    	public static void main(String[] args) {
    		int a, b, c;
    		for (c = 3; c <= 25; c++) {
    			for (b = 1; b <= c; b++) {
    				for (a = 1; a <= b; a++) {
    					if (a * a + b * b == c * c) {
    						System.out.println("A=" + a + "	B=" + b + "	C=" + c);
    					}
    				}
    			}
    		}
    	}
    }
    

    例2.11甲,乙,丙三位球迷分别预测已进入半决赛的四队A、B、C、D的名次如下:

    甲预测:A第一名、B第二名;

    乙预测:C第一名、D第三名;

    丙预测:D第二名、A第三名。

    设比赛结果,四队名次互不相同,并且甲、乙、丙的预测各对了一半。试求A、B、C、D四队的名次。

    public class Example2_11 {
    	public static void main(String[] args) {
    		int a, b, c, d;
    		boolean t;
    		for (a = 1; a <= 4; a++) {
    			for (b = 1; b <= 4; b++) {
    				if (b == a)/* 两队名次不可相同,取下一个b值 */
    				{
    					continue;
    				}
    
    				for (c = 1; c <= 4; c++) {
    					if (c == a || c == b)/* 取下一个c值 */
    					{
    						continue;
    					}
    
    					d = 10 - a - b - c;/* 四队名次之和为10 */
    					t = ((a == 1) != (b == 2)) && ((c == 1) != (d == 3)) && ((d == 2) != (a == 3));
    
    					if (t) {
    						System.out.println("A=" + a + ",B=" + b + ",C=" + c + ",D=" + d);
    					}
    				}
    			}
    		}
    	}
    }
    

    例2.12求50以内的质数。

    public class Example2_12 {
    	public static void main(String[] args) {
    		int i, j;
    		for (j = 2; j <= 50; j++)// 求50以内的质数
    		{
    			for (i = 2; i <= j / 2; i++) {
    				if (j % i == 0) {
    					break;
    				}
    			}
    
    			if (i > j / 2)// 从2开始至j/2都不能整除j
    			{
    				System.out.println("	" + j + "是质数");
    			} else// 空操作
    			{
    
    			}
    		}
    	}
    }
    

    例2.13一个程序包声明的例子。

    package myPackage;
    public class Example2_13 {
    	public static void main(String[] args) {
    		int sum = 0, i, j;
    		for (i = 1; i <= 100; i++)// 找出100以内的质数
    		{
    			for (j = 2; j <= i / 2; j++) {
    				if (i % j == 0) {
    					break;
    				}
    			}
    
    			if (j > i / 2) {
    				System.out.println(" 质数:" + i);
    			}
    		}
    	}
    }
    

    例2.14对于给定的n,输出2n+1行2n+1列星号。

    import javax.swing.*;
    
    public class Example2_14 {
    	public static void main(String[] args) {
    		int n, j, k, space;
    		String result = (String) JOptionPane.showInputDialog(null, "请输入一个整数", "输入对话框", JOptionPane.PLAIN_MESSAGE, null,
    				null, null);
    		n = Integer.parseInt(result);// 将输入字符串转换成整数
    		space = 40;// 设中间位置位于第40个字符位置
    
    		for (j = 0; j <= n; j++, space -= 2) {
    			for (int i = 0; i < space; i++) {
    				System.out.print(" ");/* 输出space个空格符 */
    			}
    			for (k = 1; k <= 2 * j + 1; k++)/* 输出2*j+1个星号 */
    			{
    				System.out.print(" *");
    			}
    			System.out.print("
    ");
    		}
    
    		space += 4;/* 下半部的第一行比上半部的最后一行后移两个位置 */
    
    		for (j = n - 1; j >= 0; j--, space += 2) {
    			for (int i = 0; i < space; i++) {
    				System.out.print(" ");/* 输出space个空格符 */
    			}
    			for (k = 1; k <= 2 * j + 1; k++)/* 输出2*j+1个星号 */
    			{
    				System.out.print(" *");
    			}
    			System.out.print("
    ");
    		}
    	}
    }
    

    例2.15编制输入整数,输出小于等于这个整数的全部质数的程序。

    import javax.swing.*;
    
    public class Example2_15 {
    	public static void main(String[] args) {
    		long m, n, k;
    		int j;/* 用于控制每行输出10个质数,作为已输出质数个数的计数器 */
    		String result = (String) JOptionPane.showInputDialog(null, "请输入一个整数(>2)", "输入对话框", JOptionPane.PLAIN_MESSAGE,
    				null, null, null);
    		m = Integer.parseInt(result);// 将输入字符串转换成整数
    		System.out.print("	2");// 输出第一个质数2
    		j = 1;// 已输出1个质数
    		for (n = 3L; n <= m; n += 2)// 对于3至m的整数逐一考察
    		{
    			for (k = 3L; k * k <= n; k += 2L)// 用3至n的平方根内的奇数k,测试对n的整除性
    			{
    				if (n % k == 0) {
    					break;// 测试k对n的整除性,若能整除结束测试
    				}
    			}
    
    			if (k * k > n)// 对于所有的k都不能整除n,则n是质数
    			{
    				if (j++ % 10 == 0) {
    					System.out.println();// 每输出10个质数换行
    				}
    				System.out.println("	" + n);
    			}
    		}
    
    		System.out.println();
    	}
    }
    
  • 相关阅读:
    How to create Ubuntu Image with Linaro Image Tools
    linux little tool
    Firefly-RK3288
    tensorflow 出现KeyError: 'tulips\8689672277_b289909f97_n.jpg'报错
    开发中涉及的框架与工具
    这三年被分布式坑惨了,曝光十大坑 【转载】
    C#动态编译及执行代码
    cron表达式可视化编辑页面
    AVPacket相关函数介绍
    ffmpeg 重要函数介绍
  • 原文地址:https://www.cnblogs.com/denggelin/p/6231123.html
Copyright © 2011-2022 走看看