疯狂JAVA讲义---第三章(下):运算符
2008-12-19 22:57
260 查看
第三章 后半部分主要讲了运算符,java在这方面和C和C++差不多。对于复杂的运算java提供了Math类。
下面看点Math的常用方法:
public class TestMath
{
public static void main(String[] args)
{
//定义变量a为3.2
double a = 3.2;
//求a的5次方,并将计算结果赋为b。
double b = Math.pow(a , 5);
//输出b的值
System.out.println(b);
//求a的平方根,并将结果赋给c
double c = Math.sqrt(a);
//输出c的值
System.out.println(c);
//计算随机数,返回一个0~1之间的伪随机数。
double d = Math.random();
//输出随机数d的值
System.out.println(d);
//求1.57的sin函数值:1.57被当成弧度数
double e = Math.sin(1.57);
//输出接近1
System.out.println(e);
}
}
[b]然后讲了位运算:补码,反码,与,或,非等都讲了,搞的像上数字逻辑课。然后讲到“短路”和“非短路”与和或,其实就是当左边满足条件右边还做不做运算的区别,下面看个例子[/b] public static void main(String[] args) {
int a=5;
int b=10;
if(a>4|b++>10){
System.out.println(a+" , "+b);
}
if(a>4||b++>10){
System.out.println(a+" , "+b);
}
}
[b]大家体会下就知道区别了,下面讲点我们常忘记的,单目运算,赋值运算,三目运算都是从右向左运算的。对于运算符的优先级其实没什么好记的,要记的话也太多,就算记住了不久就又搞不清了,所以用括号来代替利用运算符的优先级。[/b] 本章练习1.定义学生,老师,教师3个类,并生成javadoc
2.用控制台画圆我先给大家个思路图:
然后是我写的代码,由于是控制台画圆所以不太圆,李刚还真聪明选半径为6这时我也发现是比较圆的,呵呵public class Circle {
public static void main(String[] args) {
Circle c=new Circle();
c.drawCircle(6);
}
public void drawCircle(int r) {
for (int i = 0; i <= r; i++) {
double x = Math.round(Math.sqrt(Math.pow(r, 2) - Math.pow(r - i, 2)));
for (int j = 0; j < r - x; j++) {
drawBlank();
}
drawStar();
for (int k = 0; k <=(2 * x); k++) {
drawBlank();
}
drawStar();
System.out.println(" ");
}
for (int i = r-1; i >= 0; i--) {
double x = Math.round(Math.sqrt(Math.pow(r, 2) - Math.pow(r - i, 2)));
for (int j = 0; j < r - x; j++) {
drawBlank();
}
drawStar();
for (int k = 0; k <=(2 * x); k++) {
drawBlank();
}
drawStar();
System.out.println(" ");
}
}
private void drawBlank() {
System.out.print(" ");
}
private void drawStar() {
System.out.print("*");
}
}
下面看点Math的常用方法:
public class TestMath
{
public static void main(String[] args)
{
//定义变量a为3.2
double a = 3.2;
//求a的5次方,并将计算结果赋为b。
double b = Math.pow(a , 5);
//输出b的值
System.out.println(b);
//求a的平方根,并将结果赋给c
double c = Math.sqrt(a);
//输出c的值
System.out.println(c);
//计算随机数,返回一个0~1之间的伪随机数。
double d = Math.random();
//输出随机数d的值
System.out.println(d);
//求1.57的sin函数值:1.57被当成弧度数
double e = Math.sin(1.57);
//输出接近1
System.out.println(e);
}
}
[b]然后讲了位运算:补码,反码,与,或,非等都讲了,搞的像上数字逻辑课。然后讲到“短路”和“非短路”与和或,其实就是当左边满足条件右边还做不做运算的区别,下面看个例子[/b] public static void main(String[] args) {
int a=5;
int b=10;
if(a>4|b++>10){
System.out.println(a+" , "+b);
}
if(a>4||b++>10){
System.out.println(a+" , "+b);
}
}
[b]大家体会下就知道区别了,下面讲点我们常忘记的,单目运算,赋值运算,三目运算都是从右向左运算的。对于运算符的优先级其实没什么好记的,要记的话也太多,就算记住了不久就又搞不清了,所以用括号来代替利用运算符的优先级。[/b] 本章练习1.定义学生,老师,教师3个类,并生成javadoc
2.用控制台画圆我先给大家个思路图:
然后是我写的代码,由于是控制台画圆所以不太圆,李刚还真聪明选半径为6这时我也发现是比较圆的,呵呵public class Circle {
public static void main(String[] args) {
Circle c=new Circle();
c.drawCircle(6);
}
public void drawCircle(int r) {
for (int i = 0; i <= r; i++) {
double x = Math.round(Math.sqrt(Math.pow(r, 2) - Math.pow(r - i, 2)));
for (int j = 0; j < r - x; j++) {
drawBlank();
}
drawStar();
for (int k = 0; k <=(2 * x); k++) {
drawBlank();
}
drawStar();
System.out.println(" ");
}
for (int i = r-1; i >= 0; i--) {
double x = Math.round(Math.sqrt(Math.pow(r, 2) - Math.pow(r - i, 2)));
for (int j = 0; j < r - x; j++) {
drawBlank();
}
drawStar();
for (int k = 0; k <=(2 * x); k++) {
drawBlank();
}
drawStar();
System.out.println(" ");
}
}
private void drawBlank() {
System.out.print(" ");
}
private void drawStar() {
System.out.print("*");
}
}
相关文章推荐
- 疯狂java讲义 第三章 数据类型和运算符
- 疯狂java讲义 第三章 数据类型和运算符
- 第三章 数据类型和运算符 疯狂 Java 讲义
- 疯狂JAVA讲义第三章练习
- [疯狂Java讲义精粹] 第三章|流程控制与数组
- 【读书笔记】疯狂java讲义学习(二)—— 数据类型和运算符
- 【疯狂Java讲义学习笔记】【数据类型与运算符】
- 疯狂java 讲义第三章练习题---画圆
- 疯狂java 讲义第三章练习题---画圆
- Java疯狂讲义第三章练习题
- 疯狂JAVA讲义本章小结个人作业——第三章
- [疯狂Java讲义精粹] 第二章|数据类型和运算符
- 疯狂java讲义--第三章习题 画圆
- java8--Mysql数据库与JDBC编程(java疯狂讲义3复习笔记)
- 【慕课笔记】第三章 常用的运算符 第2节 JAVA中的算术运算符
- java 第三章 运算符,表达式和语句
- java 第三章 运算符,表达式和语句
- 疯狂java讲义学习数据类型问题及心得
- java8--NIO(java疯狂讲义3复习笔记)
- 疯狂Java讲义432页习题CopyPerson出错(未解决)