萌新java入门笔记

萌新java入门笔记

首先声明以下内容只是散乱笔记,如果有误还望大侠指出!不胜感激!

基本数据类型:


大体和C语言类似;

boolean truth = true;//逻辑型
//文字型
char c;
String str;
//整数类型
byte one;	//8位  -128~127
short two;	//16位 -32768~32767
int three;	//32位 -2147483648~2147483647
long four;	//64位 -2^63~2^63-1
char five;	//16位 0~65535
//浮点型
float z = 3.414f;	//32位 1e-45~3.402823e+38
double w = 3.1415;	//64位4.9e-324~1.7976931348623157e+308
//java基本数据相关的的一些常量
//首字母大写.MAX_VALUE/MIN_VALUE
//类似C语言中的结构体JAVA也有一个复合数据类型 class
class MyDate{
 int day;
 int month;
  int year;
}
MyDate a,b;

Java的输入输出:

对于一些online judge 的需要多组数据输入:
1.对于简单的数字读入:

//整数型例子  HDU1000A+B
		Scanner sc = new Scanner(System.in);
		while(sc.hasNext())
		{
			int a,b,c;
			a = sc.nextInt();
			b = sc.nextInt();
			c = a + b;
                        System.out.println(""+ c +"");
}

2.对于String输入

尤其是输入字符串前输入个整数,造成会有一个换行要吃入;

HDU2043

int j,i,n;
	    int a,b,c,d,t;
	    Scanner sc = new Scanner(System.in);
	    int m = sc.nextInt();
	    sc.nextLine();	//吃掉换行
	    for(j=1;j<=m;j++)
	    {
	    	String strr = sc.nextLine();	//对于每行的读入
		    n = strr.length();
		    char[] str = strr.toCharArray();//String 转 char[];
		    if(n<8||n>16)
		    {
		    	System.out.println("NO");
		    	continue;
		    }
		    else
		    {
		        a=b=c=d=0;
		        t=0;
		        for(i=0; i<n; i++)
		        {
		            if(str[i]>='a'&&str[i]<='z')
		                a=1;
		            else if(str[i]>='A'&&str[i]<='Z')
		                b=1;
		            else if(str[i]>='0'&&str[i]<='9')
		                c=1;
		            else if(str[i]=='^'||str[i]=='%'||str[i]=='#'||str[i]=='@'||str[i]=='$'||str[i]=='!'||str[i]=='~')
		                d=1;
		            else
		            {
		                t=1;
		                break;
		            }
		        }
		        if(t==1)
		        	System.out.println("NO");
		        else
		        {
		            if((a+b+c+d)>=3)
			            System.out.println("YES");
		            else
			            System.out.println("NO");
		        }
		    }
	    }

输出:

println是自带换行的。

print()函数里面如果是简单输出,只要"",然后里面加上些东西即可,如:

如果要输出具体数据:System.out.println(""+ c +"");



数组的声明:

数组类型 标识符[ ]; int a[ ];

数据类型 标识符[ ] = new 数据类型[大小]; int a[ ] = new int[10];

数据类型 标识符[ ] = {值1,  值2, 值2, ... ,值n }; int a[ ] = {1,2,3,4};

或者看此例:

		int a,b;
		char[] s,y;//先声明一个字符型数组
		a = 2;
		s = new char[20]; //用new创建
		s[0] = 'A';
		System.out.println("s[0] = "+ s[0]);

		//String类的使用
		String name[];
		name = new String[3];
		name[0] = "ZSQ";
		name[1] = "WXY";
		name[2] = "love";
		System.out.println(""+ name[0] +" "+ name[2] +" "+ name[1] +"
");

更多推荐:

http://blog.csdn.net/xin_jmail/article/details/34443325

http://blog.csdn.net/shijiebei2009/article/details/17305223

http://blog.csdn.net/jediael_lu/article/details/12653513

欢迎指正!后续还会更新完整!


总结:

1.JAVA的数据类型,并说明与C语言的区别。

基本类型:

整型:byte型,short型,int型,long型

浮点型:float型,double型

字符型:char型  表示形式:从“u0000”到“uFFFF

布尔型:boolean型

与C语言的区别:

boolean型:ture/false——正整数/0

占用字节数:确定——不确定
字符编码:Unicode——ASCII
数字类型:有符号——有、无
移位运算: C语言的实现要依赖与不同的系统

2.JAVA的数据类型间在什么情况下,进行自动转化,什么情况下使用强制转化。
自动转化:

目标类型大于源类型

    --------------------------------------------------------->

byte,short,char-> int-> long -> float -> double

强制转化:

如果被转换的值的数据类型大于其目标类型,就会丢失部分信 息

float c = 34.89675f;

  int b = (int) c + 10;       // c 转换为整型

3,JAVA中运算符"+"有哪些功能。

“+”:字符串拼接