java学习笔记(一)

1.java变量的基本概念:

1.1变量类似于自然语言中的代词

1.2java中的变量

java是强类型语言

变量必须声明,并且初始化以后使用

变量必须有明确的类型

变量不能重复定义

1.3变量的作用域

在声明的地方开始,到块结束为止

离开变量的作用域,变量将回收

public class VerDemo {

public static void main(String[] args) {
int age;// 变量的声明
// System.out.println(age);//还未初始化
age = 16;// 变量的初始化,第一次赋值
age = 15;// 变量二次赋值
System.out.println(age);// 输出
int score = 100;// 直接声明并初始化
System.out.println(score);
// int score=200;//不能重复定义
if (score > 80) {
int iq = 100;
System.out.println(iq);
}
// System.out.println(iq);//离开作用域访问了
int iq = 200;// 到这个位置原来的iq变量已经释放了,此处再次声明就不是重复定义了
System.out.println(iq);
}

}

2.二进制

2.1计算机内部只有二进制,包括字符数据等

2.2十进制是人类的习惯

在计算机中是:

十进制---------->二进制------------>十进制

十六进制是二进制的简写

public class BinDemo {
public static void main(String[]args){
int i=15;
System.out.println(Integer.toBinaryString(i));//转成二进制字符串
i='A';//单引号是字符,双引号是字符串
System.out.println(Integer.toBinaryString(i));//1000001
i=0xc0;
System.out.println(Integer.toBinaryString(i));
i='中';
System.out.println(Integer.toBinaryString(i));
System.out.println(Integer.toHexString(i));
}
}

3.基本类型和引用类型

3.1整数类型(byte,short,int,long)

byte      8bit          -128------127

short     16bit        -32768------32767

int         32bit        -65536------65535

long      64bit        -2^63--------2^63-1

很少使用short类型,使用int型时要注意整数的范围

直接量--字面量

a.整数的直接量的类型默认为int类型

b.以L,l为结尾的字面量是long类型

c.可以使用整数直接量给byte,short类型赋值,但不要超过byte,short的范围

public class IntegerDemo {
public static void main(String[] args) {
// byte b=0x127;//127,0127(前面有0表示八进制)
int size=1024*1024*1024*2;//超过了int类型的最大值,出现上溢现象,出现上溢在java中并不报错
System.out.println(size);
//直接量
long l=1;//直接量,字面量
// l=22000000000000000;//错,直接量默认是int类型的不能超过范围
l=22000000000000000L;//这样写才可以
short s=30000;
// short s1=32768;//错误,溢出
int a=127;
// byte bx=a;//不能这样赋值,不可使用变量直接给小类型赋值
byte bx=(byte)a;//做类型转换
bx=127;//直接量不超过范围,可以直接赋值
}
}

3.2浮点数

10001000(2)=1.0001000*2^111(2)

                            尾数               指数

float   32位

0                 00000111            10001000  00000000 0000000

符号位        指数                      尾数

float的精度比int类型小

double   64位,其中1位符号位,11位指数位,52位尾数位

double可精确表示int,不可精确表示long

2.147424566E9表示2.147424566*10^9

public class FloatDemo {
public static void main(String[] args) {
int a=0x7fffffff;
int b=0x7ffffff0;
float af=a;
float bf=b;
System.out.println(af);
System.out.println(bf);

double da=a;
double db=b;
System.out.println(da);
System.out.println(db);
double d=2.5;//double类型字面量
float f=2.5F;//F表示浮点类型字面量
double c=3D;//3 3L 3D 3F
// f=2.5;浮点型数字面量默认值是double类型的,不能直接赋值给flat类型
System.out.println(d);
System.out.println(f);
System.out.println(c);
}
}

3.3字符类型

最小值0,最大值65535

字面量也是整数常量,特殊字符采用转义字符表示

import java.util.Random

public class CharDemo {
public static void main(String[] args) {
int i='A';
System.out.println(i);//65,'A'的Unicode
//字符范围:0--65535
char c=0x4e2d;//'中';
i=c;
System.out.println(i);//20013 4e2d
System.out.println(c);//中
//结论字符是一个数值,是字符的Unicode编码值,
//println()方法根据参数类型
//采用不同的输出方式,整数输出整数,字符输出字符
System.out.println((int)'B');
int n='B'-'A';
System.out.println(n);
n='C'-'A';
System.out.println(n);
char ch='G';
int num=ch-'A'+10;//14
System.out.println(num);
ch='5';
num=ch-'0';
System.out.println(num);
ch='0';
System.out.println((int)ch);
char chr='A'+3;//字面量运算
System.out.println(chr);//'D'
//生成随机数
Random r=new Random();
int x=r.nextInt(26);//随机数x的范围[0,26)
chr=(char)('A'+x);//变量运算,大类型到小类型就要强制转换
System.out.println(chr);

char cx=0;
char cy='0';//(int)48

//转义字符
char xx='\'';//  \'表示一个单引号
System.out.println(xx);
xx='\\';
xx='\n';
xx='\u4e2d';
xx='\u0041';
System.out.println(xx);
xx='\u0000';//0
System.out.println(0==xx);//true
//\n \r \t \' \" \\
System.out.println("a\tb\nc");
System.out.println((int)'\u0000');
// System.out.println("OK\u0000123");
System.out.println('\ufffe');
}
}

public class BooleanDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
boolean isMan=false;
boolean finished=true;
if(finished){
System.out.println("欢迎你再来");
}
}
}

4.数制类型转换

4.1自动类型转换(隐式类型转换)

从小类型到大类型,自动完成

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

            char----->

4.2强制类型转换

风险:精度损失或者溢出

public class CovertDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
long l=1024L*1024*1024*4;//0x100000000
System.out.println(Long.toBinaryString(l));
int i=(int)l;
System.out.println(Integer.toBinaryString(i));
}
}

5.java中的方法

5.1方法就是函数

y=f(x)=3x+6

5.2方法的语法

(修饰词)(返回值类型)(方法名)(参数列表){

//方法体

}

5.3方法需要有return语句,返回和返回值类型兼容的数据

import java.util.Scanner;
public class MethodDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x=5;
int y=f(x);//Function==Method
System.out.println(y);
//从控制台读取信息:console(控制台)
Scanner console=new Scanner(System.in);
double d=console.nextDouble();
double z=k(d);
System.out.println(r(z));
}
public static int f(int x){
int y=3*x+6;
return y;
}
public static double k(double t){
double g=9.8;
return g*t*t/2;
}
//四舍五入
public static long r(double d){
return (long)(d+0.5);
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值