A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【黑马程序员合肥】Java入门程序&基础数据类型(转换)&逻辑判断&运算等





    摘要: Java入门程序&基础数据类型(转换)&逻辑判断&运算等这些是黑马程序员java基础入门的一个很重要的内容。今天主要给大家简单讲解一下Java入门程序&基础数据类型(转换)&逻辑判断&运算等知识,以后会慢慢讲解黑马程序员的课程内容!
Java入门程序
[AppleScript] 纯文本查看 复制代码
/**
 * @author  传智播客
 */
public class HelloWorld {
	public static void main(String[] args) {
		// 打印出一句黑马程序员
		System.out.println("黑马程序员");
	}
}
Java 基础数据类型
[AppleScript] 纯文本查看 复制代码
/**
 * @author  传智播客
 */
public class BasicDataType {
	/**
	 * 8种基本数据类型
	 */
	private byte b = 'a'; // 1字节 取值范围:Byte.MAX_VALUE 和 Byte.MIN_VALUE
	private short s = 1; // 2字节 取值范围:Short.MAX_VALUE 和Short.MIN_VALUE
	private int i = 123; // 4 取值范围:Integer.MAX_VALUE 和 Integer.MIN_VALUE
	private long l = 1234567890;// 8 取值范围:Integer.MAX_VALUE 和 Integer.MIN_VALUE
	private char c = '中'; // 3字节 ...
	private float f = 3.14f; // 4 ...
	private double d = 3.14; // 8 ...
	private boolean e = true;
	/**
	 * 8种对应的封装类型
	 */
	private Byte bb = 'a';
	private Short ss = 1;
	private Integer ii = 1;
	private Long ll = 1L;
	private Character cc = '中';
	private Float ff = 3.14f;
	private Double dd = 3.14;
	private Boolean bl = false;
	/**
	 * String 是最常用的数据类型,但不属于基本数据类型
	 */
	private String str = "str";
}
数据类型转换:
[AppleScript] 纯文本查看 复制代码
/**
 * @author  传智播客
 */
public class DateTypeConvert {
	/**
	 * 类型小--->类型大的转换: 自动转换 byte,short,char->int->long->float-> double
	 * 
	 * 类型大--->类型小的转换:加强制转换
	 * 
	 * 运算的:byte,short,char 当int类型处理,整数编译器默认当int类型,小数默认当double
	 */
	public void test() {
		int i = 1;
		long l = i;
		long ll = 1234;
		int ii = (int) ll;
	}
}
逻辑判断:
[AppleScript] 纯文本查看 复制代码
/**
 * 逻辑判断 if/else、for、while、do/while、switch
 * 
 * @author  传智播客
 * 
 */
public class Logical {
	/**
	 * if if-else if-else if if-else if else
	 * 
	 * 注意:只有一句话时,可以省略{}
	 */
	public void testIF() {
		int i = 20;
		if (i < 20) {
			System.out.println("小于20!");
		}
		else if (i < 40) {
			System.out.println("小于40!");
		}
		else if (i < 60) {
			System.out.println("小于60!");
		}
		else {
			System.out.println(">=60!");
		}
	}

	/**
	 * for fore while do-while
	 */
	public void testCycle() {
		for (int i = 0; i < 10; i++) {
			System.out.println("i=" + i);
		}
		System.out.println("+++++++++++++++++++++++++++");
		int[] is = new int[5];
		// 初始化is数组
		for (int i = 0; i < is.length; i++) {
			is[i] = i;
		}
		for (int i : is) {
			System.out.println("i=" + i);
		}
		System.out.println("+++++++++++++++++++++++++++");
		int i = 1;
		while (i > 0) {
			System.out.println("i=" + i);
			i++;
			if (i == 10) {
				break;
			}
		}
		System.out.println("+++++++++++++++++++++++++++");
		int x = 1;
		do {
			System.out.println("x=" + x);
			x++;
			if (x == 10) {
				break;
			}
		} while (x > 0);
	}

	/**
	 * switch
	 * 
	 * 注意:只有用于int,short,char,boolean
	 */
	public void testSwitch() {
		Random random = new Random();
		int i = random.nextInt(10);
		switch (i) {
		case 1:
			System.out.println("i=1");
			break;
		case 2:
			System.out.println("i=2");
			break;
		case 3:
			System.out.println("i=3");
			break;
		case 4:
			System.out.println("i=4");
			break;
		case 5:
			System.out.println("i=5");
			break;
		default:
			System.out.println("i=" + i);
			break;
		}
	}

	/**
	 * 递归 顾名思义:就是对自己调用
	 * @author  传智播客
 * @param args
	 */
	public int testRecursion1(int i) {
		if (i == 1) {
			return 1;
		}
		else {
			// i * testRecursion(i - 1)
			// 对自己调用,假如i=5-->test(4)-->test(3)-->test(2)-->test(1),然后再返回
			return i * testRecursion1(i - 1); // 5*testRecursion(4)=5*4*testRecursion(3)=5*4*3*testRecursion(2)=5*4*3*2*1=120
		}
	}

	/**
	 * 1、1、2、3、5、8、13 ... Fibonacci数列
	 * 
	 * @return 结果
	 */
	public int testRecursion2(int i) {
		if (i == 1 || i == 2) {
			return 1;
		}
		else {
			// 递归调用,第三个数等于第一个数加上第二个数的和。Fn=Fn-1+Fn-2
			return testRecursion2(i - 1) + testRecursion2(i - 2);
			/**
			 * 分析过程: 例如i=5 main-->i=5
			 * test(5-1)--test(4)--test(3)--test(2)--test(
			 * 1)--test(1)--test(2)--test
			 * (1)--test(3)--test(2)--test(1)--test(3)--test(2)--test(1)
			 */
		}
	}

	/**
	 * 使用循环模拟testRecursion2
	 * @author  传智播客
 * @param args
	 */
	public long testRecursion3(int index) {
		if (index < 0) {
			System.out.println("请输入正确的索引");
			return -1; // 或 System.exit(0);
		}
		if (index == 1 || index == 2) {
			return 1;
		}
		// 1,1,2,3...三个数来回倒置
		long f1 = 1L;
		long f2 = 1L;
		long f = 0;
		// f1,f2不用循环,所以少2次循环
		for (int i = 0; i < index - 2; i++) {
			f = f1 + f2;
			f1 = f2;
			f2 = f;
		}
		return f;
	}

	public static void main(String[] args) {
		Logical logical = new Logical();
		System.out.println("testIF:");
		logical.testIF();
		System.out.println("testCycle:");
		logical.testCycle();
		System.out.println("testSwitch:");
		logical.testSwitch();
		System.out.println("testRecursion1:");
		int resoult = logical.testRecursion1(5);
		System.out.println(resoult);
		System.out.println("testRecursion2:");
		resoult = logical.testRecursion2(5);
		System.out.println(resoult);
		System.out.println("testRecursion3:");
		long number = logical.testRecursion3(40);
		System.out.println(number);
	}
}
运算符:
[AppleScript] 纯文本查看 复制代码
**
 * 运算符
 * 
 * @author 传智播客
 * 
 */
public class Operator {
	/**
	 * 算术运算符:+,-,*,/,%,++,-- 关系运算符:>,<,>=,<=,==,!= 逻辑运算符:&,|,!,^,&&,||
	 * 位运算符:&,|,^,~,>>,<<,>>> 赋值运算符:= 扩展运算符:+=,-=,*=,/= 字符串连接运算符:+
	 * 
	 */

	public void number() {
		int i = 1;
		System.out.println("i:" + i);
		int j = 2;
		System.out.println("j:" + j);
		j++;
		System.out.println("j++:" + j++);
		System.out.println("j:" + j);
		i++;
		System.out.println("i++:" + i++);
		System.out.println("i:" + i);
		i += j; // i=i+j;
		System.out.printf("i+=j:%s", i);
	}

	public static void main(String[] args) {
		new Operator().number();
	}
}
其实在学习java过程中基础还是比较容易,如果大家想学习java基础的知识,欢迎大家可以去传智播客官网http://www.itheima.com/去了解java基础知识!


5 个回复

正序浏览
打酱油的路过,并瞥了一眼
回复 使用道具 举报
围观
回复 使用道具 举报
围观+1
回复 使用道具 举报
{:8_494:}围观
回复 使用道具 举报
帅帅帅,顶顶顶
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马