我的java学习笔记(一)

第一个java程序,还是熟悉的hello world

public class FirstSample {   //类
public static void main(String[] args)   //方法
{
System.out.println("Hello World!");    //输出语句“Hello World!”
    }
}
 

输出很无趣,就是在控制台输出 Hello World!

程序里值得注意的地方有就是:

1.java程序是区分大小写的,即为大小写敏感。

2.类是构建所有java应用程序和applet的构建块。Java应用程序中的全部内容都必须放置在类中。源代码的文件名必须与公共类的类名相同。

3.根据java语言的规范,main方法必须声明为public。main中的方法必须是静态的。

Java是一种强类型语言。

在java中一共有8种基本类型,4种整型、2种浮点型、1种用于表示Unicode编码的字符单元的字符类型char和一种用于表示真值得boolean类型。Java中没有任何无符号类型。


类型


存储需求


int


4个字节


short


2个字节


long


8个字节


byte


1个字节

在java中有两种浮点类型。


类型


存储需求


float


4个字节


double


8个字节

Java中char类型用UTF-16编码 一个代码单元。

Boolean类型有两个值:false和true,用来判断逻辑条件。整型值和布尔值之间不能进行相互转换。

在java中,利用关键字final指示常量。

final double MONEY = 50;

关键字final表示这个变量只能被赋值一次,一旦被赋值之后,就不能够再更改了。

如果一个常量在一个类中的多个方法中使用,通常将这些常量成为类常量。使用关键字static final设置一个类常量。

Public static final double MONEY = 50;

如果一个变量被声明为public,那么其他类的方法也可以使用这个常量。

在java中整数被0除将会产生一个异常,而浮点数被0除将会得到一个无穷大或NaN结果。

在java中的位运算符有: & 与 ,| 或 ,^ 异或,~非,<< 、>>左移和右移。

int a = (n & (1 << 3)) >> 3; //检查n第四位是不是1。

>>>运算符将用0填补高位,>>运算符用符号位填补高位。没有<<<运算。

Java字符串就是Unicode字符序列。

String类的substring方法可以从一个较大的字符串提取出一个子串。

String a = “hello”;
String b = a.substring(0,4);//b为 hell b的长度为4-0=4

Java语言允许使用+号连接两个字符串。当将一个字符串与一个非字符串的值进行拼接时,后者被转换成字符串。

int age = 13;
String a = “abc” + age;  //a为abc13 

使用equals方法检测两个字符串是否相等。

a.equals(b); // 相等返回true ,不等返回false。

如果想要检测两个字符串是否相等,而不区分大小写,可以使用equalsIgnoreCase方法。

“Hello”.equalsIgnoreCase(“hello”);

空串和值为null串的检测方法

(str != null && str.length() != 0)

首先要检查str不为null。如果在一个null值上调用方法,会出现错误。

如果需要使用许多小段的字符串构建一个字符串,那么应该试一试StringBuilder类

StringBulider builder = new StringBuilder();
bulider.append(ch);//添加字符
builder.append(str);//添加字符串
String all = builder.toString();//把完整的字符串赋给all

在java中的输入输出实例

import java.util.*;
public class InputTest {
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);//构造Scanner对象
System.out.print("你叫什么名字?");
String name = in.nextLine();
//读入字符串
System.out.print("你多大了?");
int age = in.nextInt();
//读入一个整数
System.out.println("Hello," + name  + " 你现在已经" + age + "岁了");
    }
}

块即符合语句是指有一对花括号括起来的若干条件简单的java语句。块确定了变量的作用域。一个块可以嵌套在另一个块中。不能再嵌套的两个块中声明同名的变量。

switch语句中

case标签可以是:

1.类型为char、byte、short或int

2.枚举

3.从javaSE7开始,case标签还可以是字符串字面量。

数组是一种数据结构,用来存储同一类型值得集合。

数组的声明

int[] a = new int[10];
int a[] = new int[10];

创建一个数字数组时,所有元素都初始化为0.boolean数组的元素会初始化为false。对象数组的元素则初始化为一个特殊值null,这表示这些元素未存放任何对象。

如果想获得数组中的元素个数,可以使用array.length

for(int i = 0;i < a.length;i++)
System.out.println(a[i]);

遍历数组的另一种方法

for(int element:a)
System.out.println(elelment);

要想对数值型数组进行排序,可以使用Arrays类中的sort方法

Arrays.sort(a);

Math.random方法将返回一个0到1之间的随机浮点数,就可以得到从0到n-1之间的一个随机数。

 int r = (int)(Math.random()*n);

几个小应用例子

1.抽奖问题

import java.util.*;
public class test001 {
	public static void main(String[] args)
	{
		Scanner in = new Scanner(System.in);

		System.out.println("你能抽多少个数字?");
		int a = in.nextInt();

		System.out.println("最大的数字是什么?");
		int n = in.nextInt();

		int[] num = new int[n];
		for(int i = 0; i < num.length;i++)
		{
			num[i] = i + 1;
		}

		int[] result = new int[a];
		for(int i = 0 ; i <result.length;i++)
		{
			int rad = (int)(Math.random() * n);
			result[i] = num[rad];
			num[rad] = num[n-1];
			n--;
		}

		Arrays.sort(result);
		System.out.println("抽奖结果为:");
		for(int ele : result)
		{
			System.out.println(ele);
		}
	}
}

2.银行存钱的利息问题

public class test002 {
	public static void main(String[] args)
	{
		final double Begin = 10;
		final int R = 6;
		final int Y = 10;

		double[] Rate = new double[R];
		for(int i = 0; i < Rate.length; i++)
		{
			Rate[i] = (Begin + i) / 100.0;
		}

		double[][] bala = new double[Y][R];
		for(int i = 0; i < bala[0].length; i++)
		{
			bala[0][i] = 10000;
		}

		for(int i = 1;i < bala.length; i++)
		{
			for(int j = 0; j < bala[i].length; j++)
			{
				double oldbala = bala[i - 1][j];

				double up = oldbala * Rate[j];

				bala[i][j] = oldbala + up;

			}
		}

		for(int i = 0; i < Rate.length;i++)
		{
			System.out.printf("%9.0f%%",100 * Rate[i]);
		}

		System.out.println();
		for(double[] r : bala)
		{
			for(double b : r)
			{
				System.out.printf("%10.2f",b);
			}
			System.out.println();
		}
	}
}

3.使用不规则数组打印杨辉三角

public class test003 {
	public static void main(String[] args)
	{
		final int m = 10;

		int[][] a = new int[m][];
		for(int i = 0; i<m ; i++)
		{
			a[i] = new int[i+1];
		}

		for(int i = 0; i < a.length;i++)
		{
			for(int j = 0; j <a[i].length; j++)
			{
				int temp = 1;
				for(int k = 1 ; k <= j; k++)
				{
					temp = temp * (i - k + 1) / k;
				}
				a[i][j] = temp;
			}
		}
		for(int[] r : a)
		{
			for(int ele : r)
			{
				System.out.printf("%4d",ele);
			}
		System.out.println();
		}
	}
}
时间: 2024-10-03 22:25:15

我的java学习笔记(一)的相关文章

Java学习笔记3-操作符

Java基本操作符:+.-.*./.%.=.==.!=.+=.-=. 优先级:先乘除后加减,如果是连接符+号会优先往前匹配,比如 a+++++b,会被解释称 a++ ++ +b,所以会报错,需要自行使用括号隔离为 (a++) + (++b). 对象的引用如果赋值给了对象的引用后,2 个对象将指向同一个引用,有一个对象的引用重新赋值后将同时影响到另一个对象,比如 ClassName classA = new ClassName(); ClassName classB = new ClassName

java学习笔记10--泛型总结

java学习笔记系列: java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note10.html,转载

Java学习笔记_25_Collections类

25.Collections类: Collections类是一个工具类,用来对集合进行操作,它主要是提供一些排序算法,包括随机排序.反相排序等. Collections类提供了一些静态方法,实现了基于List容器的一些常用算法. Collections的一些方法列表: · void sort(List): 对List内的元素进行排序. · void shuffle(List): 对List内的元素随机排序. · void reverse(List): 对List内的元素进行逆序排列. · voi

Java学习笔记心得——初识Java

初识Java 拿到这本厚厚的<Java学习笔记>,翻开目录:Java平台概论.从JDK到TDE.认识对象.封装.继承与多态...看着这些似懂非懂的术语名词,心里怀着些好奇与担忧,就这样我开始走进Java的世界.  Java产生的历史 Java来自于Sun公司的一个叫Green Project中撰写的程序语言,全球信息网(World Wide Web)兴起,Java Applet成为网页互动技术的代表,特别适合于Internet应用程序开发. Java语言的特点 1.面向对象 这是Java最重要

java学习笔记8--接口总结

接着前面的学习: java学习笔记7--抽象类与抽象方法 java学习笔记6--类的继承.Object类 java学习笔记5--类的方法 java学习笔记4--对象的初始化与回收 java学习笔记3--类与对象的基础 java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址:http://www.cnblogs.com/archimedes/p/java-study-note8.html,转载请注明源地址. 生活中的接口: 什么是接口? 一个Java接口是一些方法特

java学习笔记3——java关键字

java学习笔记3——java关键字 虽然老师说不用刻意的去记忆,但是我还是在网上找到了非常详细的注解,再次收藏 关键字的类型表: 各个关键字的详细注解和实例,按首字母排序: 1.abstract abstract 关键字可以修改类或方法. abstract 类可以扩展(增加子类),但不能直接实例化. abstract 方法不在声明它的类中实现,但必须在某个子类中重写. -示例- public abstract class MyClass{ } public abstract String my

java学习笔记一

只记录一些我认为比较必要,容易出错的地方.(不断更新中) 内存:分为四段,代码段code segment,数据段data segment,栈stack, 堆heap.记住如下图 数据类型: 1.java整形常量默认为int类型,当使用long类型时,因此需要添加“l”或“L”,一般用大写,小写像1.如long i = 888888888888L 2.浮点数时会默认为double类型,因此使用float时需要添加f.如 float i = 0.123f 3.java支持大数运算. 强制转换 flo

java学习笔记(三)java中的修饰符abstract、static与final

一.四种访问级别的访问范围 访问级别 访问修饰符 同类 同包 子类 不同的包 公开 public 受保护 protected 默认 没有访问修饰符 私有的 private 二.使用abstract修饰符需要遵守的语法规则 1.抽象类中可以没有抽象方法,但是包含抽象方法的类必须定义为抽象类,即用abstract修饰: 2.抽象类跟抽象方法不能被final修饰符修饰: 3.抽象类中可以有非抽象方法,因为继承抽象类的子类必须重写父类中所有的抽象方法,因此抽象类中不能有抽象构造方法和抽象静态方法: 4.

Java学习笔记day_01

Java学习笔记(复习整理) 虽然不知道该怎么写,但是不起步就永远不知道该怎么做..刚开始可能会写的很差劲,但会一点一点变好的. 本笔记是以我按照传智播客的视频和Java核心思想来学习,前面的基础部分主要是用于个人的复习使用的. 第一段代码:HelloWorld public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } }

【Java学习笔记之二十六】深入理解Java匿名内部类

在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.如何初始化匿名内部类.匿名内部类使用的形参为何要为final. 一.使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 在这里我们看到使用匿名内部类我们必须要继承一个父类或者