尚学堂Java学习笔记
============================
J2SDK&JRE
J2SDK:JAVA2 SOFTWARE DEVELOPMENT KIT
JRE:JAVA RUNTIME ENVIRONMENT
开发需要JDK,用户需要JRE
配置path和classpath
path:windows系统执行命令时需要搜的路径
classpath:Java在编译和运行的时候要的class所在的路径
验证: java运行Java程序
javac编译Java程序
=============================
配置好环境变量后开始编写第一个Java的HelloWorld.java程序
public class HelloWorld
{
public static void main(String [] args)
{
System.out.println("Hello World!");
}
}
用javac HelloWorld.java来编译程序,编译成功后用java HelloWorld来执行程序。javac对文件名的大小写不敏感,但是java对文件名大小写非常敏感!
==============================
JAVA APPLICATION初步
Java源文件以.java为扩展名,源文件的基本组成部分是类(class)。
一个源文件中最多只能有一个public类,其他类的个数不限,如果源文件包含一个public类,它必须按照该类文件命名。
Java应用程序执行入口是main()方法,它有固定的书写格式:public static void main(String [] args){......}。
Java语言严格区分大小写。
Java方法由一条条语句构成,每个语句以分号结束。
===============================
递归调用
//分析下面程序的运行结果
public class Test
{
public static void main(String [] args)
{
System.out.println(method(5));
}
public static int method(int n)
{
if (n==1)
return 1;
else
return n*method(n-1);
}
}
这是一个递归调用的过程,相信应该很轻松地看明白的。
还有一个例子是斐波那契数列:1,1,2,3,5,8,13,......
这个递归程序应该是:
import java.util.Scanner;
public class Fib
{
public static void main(String [] args)
{
System.out.println("Please input an integer number:");
Scanner scanner=new Scanner(System.in);
int Int();
System.out.println("The Fib result of "+n+" is :"+fib(n));
}
public static int fib(int n)
{
if (n==1||n==2)
{
return 1;
}
else
{
return fib(n-1)+fib(n-2);
}
}
}
那么他的非递归程序应该怎么写呢?
import java.util.Scanner;
public class Fib
{
public static void main(String [] args)
{
System.out.println("Please input an integer number:");
Scanner scanner=new Scanner(System.in);
int Int();
System.out.println("The Fib result of "+n+" is :"+fib(n));
}
public static long fib(int index)
{
if (index==1||index==2)
return 1;
long f1=1;
long f2=1;
long f=0;
for (int i=0;i<index;i++)
{
f=f1+f2;
f1=f2;
f2=f;
}
return f;
}
}
=====================================================
标识符
1.Java对各种变量、方法和类等要素命名的时候使用的序列成为标识符。或者说凡是可以自己
起名字的地方都叫标识符,都遵守标示符的规则。
2.Java的命名规则:标识符由字母、下划线、$或数字组成。
标识符应以字母、下划线、$开头。
Java标识符大小写敏感,长度无限制。
3.约定俗成:Java的标识符选取应见名知意。而且不能与Java语言关键字重名。
这些关键字有:abstract default if private this boolean do implements protected throw break double import public throws byte else instanceof return transient case extends int short try catch final interface static void char finally interface strictfp volatile class float native super while const for new switch null continue goto package synchronized
Java常量
1.Java常量值用字符串来表示,区分不同的数据类型。
包括整型常量eg.123,实型常量eg.3.14,字符商量eg.'a',字符创常量eg."Hello!",逻辑常量true\false
2.注意:区分字符常量和字符串常量
“常量”这个名词还会用在另外其他语境中表示值不可变的变量。
Java变量java配置用户变量
1.Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
2.Java程序中每一个变量都属于特定的数据类型,在使用之前必须对其声明,声明格式为:
type varName[=value][{,varName[=value]}]
eg. int i=100;
float f=12.9f;
double d1=0.123;
String s="hello!";
3.从本质上讲,变量其实是内存中的一块小区域,使用变量名来访问这块区域,因此,每一个变量在使用前必须先声明,然后必须进行赋值,才能使用。
Java变量的分类
1.按被声明的位置分类
局部变量:方法或语句块内部的变量
成员变量:方法外部,类内部定义的变量
2.按所属的数据类型划分
基本数据类型变量
引用数据类型变量
Java局部变量与成员变量
1.方法体内部声明的变量(包括形参)称为局部变量。方法体内部是指与方法对应的大括号内部,即,出了大括号后就没有人认识括号里面的东西了。
2.在方法图外部,类内部声明的变量为成员变量。如:
public void method()
{
int i;
int j=i+5;//编译出错,因为i还未初始化
double d=3.14;
Dog dog=new Dog(22,7,1964);
}
注意:任何一个程序都不应该照抄,应该在看懂程序的基础上自己去编写。否则你自己就是一个TypeWriter了。
======================================================
Java基本数据类型
1.Java中定义了4类8中基本的数据类型
逻辑型:boolean
文本型:char
整数型:int long byte short
浮点数型:float double
2.逻辑型Boolean
Boolean类型适用于逻辑运算,一般用于流程控制。
Boolean类型只允许取值true或false,不可以是0或非0的整数来代替true\false。
3.字符型char
char类型数据用来表示通常意义上的
“字符”。
字符常量为用单引号括起来的单个字符。
Java字符采用Unicode(全球语言统一编码)编码,每个字符占用两个字节,因而可以使用十六进制编码形式表示。
Java语言中还允许使用转义字符‘\’来将其后的字符转变为其他的含义。
4.整数类型
Java个整数类型有固定的表数范围和字段长度,不受操作系统的影响,以保证Java程序的可移植性。
Java语言整数常量的三种表示形式:十六进制整数,以0X开头;十进制整数;八进制整数,以0开头。
Java语言的整形常量默认为int类型,声明long型常量可以后加'l','L'。如:int i1=300;
long i2=2342L;
5.浮点类型
与整数类型相似,Java浮点类型有固定的表数范围和字段长度,不受平台影响。
Java浮点类型常用两种表示形式:十进制形式和科学计数法形式
Java浮点型常量默认为double型,如要声明一个常量为float 型的,则需要在后面加f或F,如double d=123.9;//正确
float f=23.9;//报错!丢失精度
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论