从零开始学习Java记录的基础知识点(零散)二

1.3 运算符与表达式

   算数运算符:+,-,*,/,%,++,--;
   除法要注意Java中有两种除法:一般除法和整除,如果除数和被除数都为整形,那么执行的整除,除此之外执行一般除法;
   4/3=1
   4.0/3=1.3333333
   求余运算的用途:
1)判断奇偶数;
2)数据周期性变化,比方说时钟;
3)判断因子;
4)取整数的某些位(比如个位);
++:将一个数自增1;
a++等价于a=a+1;
自增运算的存在价值:简洁
b=a++等价于b=a;a++;
b=++a等价于a++;b=a;
++写在前面就先加,写在后面就后加。

案例3:算术运算符

public class Test {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int a=(3+4*5)/6;
		int b=23%3;
		System.out.println(a);
		System.out.println(b);
		int c=++b;
		System.out.println(b);
		System.out.println(c);
	}
}
结果:






关系运算符:
>  >=  <  <=  ==  !=
赋值运算符:
y=x+3;
赋值运算符的左边一定是变量。为什么?
所谓赋值,指的是将一个数据存储到某个内存单元中。
复合赋值运算符:
Y+=3;等价于y=y+3;
特别注意:
==和=的区别;
比如要表达:“如果a等于b,则将a的值加1”
错误写法:

If(a=b){
      a++;
}

这种错误需要特别注意,初学者甚至老程序员都会经常犯错。正确的表达是:


If(a==b){
	  a++;
}

表达“如果a等于3则将a加1”,通常的写法是:

if(a==3){
	  a++;
}	
推荐写法:


If(3==a){
	  a++;
}
逻辑运算符:
&&  ||  !
与  或  非
a>b>c的数学中的含义和计算机语言中的含义不一样。
计算机中表示(a>b)>c;
所以正确的表达a>b>c应是:a>b && b>c;

1.4 基本输入输出

输入:
Scanner input=new Scanner(System.in);
input.next();
Input.nextInt();
......
输出:
System.out.print();
System.out.println();
System.out.printf();

案例:简单加法器;

public class Test {
			public static void main(String[] args) {
				// TODO Auto-generated method stub
				System.out.print("请输入两个整数");
				Scanner input=new Scanner(System.in);
				int a=input.nextInt();
				int b=input.nextInt();
				int sum=a+b;
				System.out.printf("%d+%d=%d",a,b,sum);
			}
	}
结果:





心得体会:
输出除了print,println,还可以使用更加强大的printf;
Printf支持使用格式字符输出数据,常用的格式字符有
%d=整数
%f=浮点数
%s=字符串
格式不能混用,否则可能会出错。
浮点型数据系统默认保留小数点后六位;要保留三位时,只需在%f中间加上.和要保留的位数;如%.3f意为保留小数点后3位;还有.之前加数字,即表示数字的总位数,如%10.3f表示为数据不少于10位,小数点后有3位,前面7位数字若只有3位有数字,则前面用空格显示,它的结果为     123.456;若想用0显示出来则需要在10前面加上0,如%010.3f,它的结果为000123.456.


1.5 程序设计方法

学习程序设计的方法,可以参考练字的方法,描红→临摹→独立书写。
编写程序的方法——三步法:
(1) 先形成解决问题的思路(换位思考);
(2) 用自然语言或流程表达思路(清晰准确);
(3) 将自然语言描述的思路翻译成计算机语言。
(1)(2)步和计算机语言没有任何关系,最重要的是(1);所以学习程序设计最重要的是学习和提高分析问题,解决问题的能力,而不是学习语法。
案例:计算一个三位数字的各位数字之和,如645就等于15;
(1) 提示用户输入一个数字;
(2) 接收用户的输入;
(3) 分别得到百位,十位和个位;
百位:整除100得到百位;
十位:先除以10,再对10求余得到十位;
个位:对10求余得到个位;
(4) 三位相加求和;
(5) 输出结果。

public class Test {
	public static void main(String[] args) {
		/*(1)	提示用户输入一个数字;
		     (2)	接收用户的输入;
		     (3)	分别得到百位,十位和个位;
		     (4)	三位相加求和;
		     (5)	输出结果。*/
		Scanner input=new Scanner(System.in);
		System.out.println("请输入一个三位数字");
		int num=input.nextInt();
		
int bai=num/100;
		int shi=(num/10)%10;
		int ge=num%10;
		
int sum=bai+shi+ge;
		
System.out.printf("%d的三位数之和是%d",num,sum);
	}
}
结果:











心得体会:
每个步骤与逻辑之间应适当的加一些空行或空格以区分开,以增强代码的可读性;
编写程序前一定要有思路,而且思路必须正确和清晰;
案例:重组三位数得到最大值
     思路: 1.提示用户输入一个三位数字;
         2.分别得出数字的百位,十位,个位;
         3.比较三个数字的大小,并重组排序(大的在前,小的最后,剩下的中间);最大的乘100,中间的乘10,最小的乘1;
         4.输出结果
 public class Tese {
	public static void main(String[] args) {
		/*1.提示用户输入一个三位数字;
		 *2。分别得出数字的百位,十位,个位;
		 *3.比较三个数字的大小,并排序(大的在前,小的最后,剩下的中间);
		 *4.输出结果.*/
		Scanner input=new Scanner(System.in);
		System.out.println("请输入一个三位数字");
		int num=input.nextInt();
		
		//分别计算百位,十位,个位;
		int bai=num/100;
		int shi=(num%100)/10;
		int ge=num%10;
		
		//求出最大值,最小值和中间值;
		int max=Math.max(Math.max(bai, shi), ge);
		int min=Math.min(Math.min(bai, shi), ge);
		int middle=(bai+shi+ge)-(max+min);
		
		int result=max*100+middle*10+min;  //对三个值进行重组得到最大值;
		
		System.out.printf("重组%d得到最大值%d",num,result);   //输出结果
	}
}











心得体会:
计算机的思维方式和人有很大不同,作为程序员就是要习惯站在计算机的角度去思考问题;
一旦思路清晰了,代码就很容易编写;
为了增强代码的可读性,要合理注释。如果对代码块进行注释,注释写在代码块上面;如果对某一行注释,注释写在行尾。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值