java学习(一)数据类型
一、java的安装及环境变量的配置
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

安装成功后找到对应的sdk安装的目录配置path环境变量



2.任意目录下创建一个HelloWord.java文件

class HelloWord
{ public static void main(String [] args){
System.out.println("helloword");
}
}
3.打开cmd运行HelloWord.java

4.java中的构造方法
class HelloWord{
//java中的构造方法名必须和类名相同
public HelloWord(String name){
System.out.println("my name is "+name);
}
public static void main(String[] args){
HelloWord myName = new HelloWord("ceshi");
}
}
5.给类中的构造方法传参及访问类中的方法及成员变量
class Puppy{
private int newAge;
//构造方法
public Puppy(String name){
System.out.println("my dog's name is " + name);
}
//赋值年龄为全局变量
public void setAge(int age){
newAge = age;
}
// 获取年龄的值
public int getAge(){
System.out.println("my dog's age is "+newAge);
return newAge;
}
public static void main(String[] args){
//实例化对象
Puppy myPuppy = new Puppy("tom");
// 通过方法设定年龄
myPuppy.setAge(2);
// 访问类中的方法
myPuppy.getAge();
// 获取类中的成员变量
System.out.println("变量值 :" +myPuppy.newAge);
}
}
6、进制的转换
1.其他进制到十进制的转换

得到下面数据的十进制值:
其中二进制是以0b开头的
八进制是以0开头的
十六进制是以0x开头的
0b10101 = 1*2^4 + 0*2^3 + 1*2^2 + 0*2^1 + 1*2^0
= 16 + 0 + 4 +0 +1
= 21
0123 = 1*8^2 + 2*8^1 + 3*8^0
= 64 + 16 + 3
=83
0x3c = 3*16^1 + 12*16^0
= 48 + 12
= 60
2、十进制到其他进制的转换

得到下面数据的二进制,十进制,十六进制
52分别得到二进制,十进制,十六进制
二进制: 0b110100 八进制 : 064 十六进制:0x34
52 / 2 = 26 ... 0 52 / 8 = 6 ... 4 52 / 16 = 3 ... 4
26 / 2 = 13 0 6 / 8 = 0 6 3 / 16 = 0 3
13 / 2 = 6 1
6 / 2 = 3 0
3 / 2 = 1 1
1 / 2 = 0 1

java中的数据类型

byte 字节数 :1 范围: -128 ---127 short 字节数: 2 范围:-2^15 --- 2^15-1 int 字节数:4 范围-2^31---2^31 -1
long 字节数:8 范围:-2^53---2^53-1
float 字节数:4 double 字节数: 8 char 字节数: 2 boolean :字节数1
long j = 1000000000000; //报错
long j = 1000000000000L;
float f = 12.324 ; //报错
float f = 12.234F;
注:长整型后缀用L或l标记,单精度浮点数用F或f标记
字符变量
char a = 'a';
变量的作用域:
变量定义在哪个大括号内,它就在这个大括号内有效;
并且,在同一个大括号内不能同时定义同名的变量
初始化值:
没有初始化值的变量不能直接使用,定义的时候要给值.
定义变量的格式:
数据类型 变量名 = 初始化值;
参与运算的数据类型必须一致。
/*
注意:默认转换(从小到大的转换)
A:byte,short,char—int—long—float—double
B:byte,short,char相互之间不转换,他们参与运算首先转换为int类型
面试题:
byte b1=3,b2=4,b;
b=b1+b2;
b=3+4;
哪句是编译失败的呢?为什么呢?
b = b1 + b2;是有问题的。
因为变量相加,会首先看类型问题,最终把结果赋值的也会考虑类型问题。
常量相加,首先做加法,然后看结果是否在赋值的数据类型范围内,如果不是,才报错。
*/
class DataTypeDemo6 {
public static void main(String[] args) {
//定义了三个byte类型的变量,b1,b2,b3
//b1的值是3,b2的值是4,b没有值
byte b1 = 3,b2 = 4,b; //b = b1 + b2; //这个是类型提升,所有有问题 b = 3 + 4; //常量,先把结果计算出来,然后看是否在byte的范围内,如果在就不报错。
}
}
/*
看程序写结果 通过字符和一个整数相加,我们给出一张表:ASCII码表。
通过看完这张表以后,我们要记住三个值:
'a' 97
'A' 65
'0' 48
*/
class DataTypeDemo8 {
public static void main(String[] args) {
//直接输出一个字符
System.out.println('a'); //a
//输出一个字符和一个整数做加法
System.out.println('a'+1); //
}
}
/*
看程序写结果
字符串数据和其他数据做+,结果是字符串类型。
这里的+不是加法运算,而是字符串连接符。
*/
class DataTypeDemo9 {
public static void main(String[] args) {
System.out.println("hello"+'a'+1); //helloa1
System.out.println('a'+1+"hello"); //98hello System.out.println("5+5="+5+5); //5+5=55
System.out.println(5+5+"=5+5"); //10=5+5
}
}
/*
思考题1:请问下面这个有没有问题
double d = 12.345;
float f = d; 思考题2:看看下面两个定义有没有区别呢?
float f1 = (float)12.345;
float f2 = 12.345f; f1其实是通过一个double类型转换过来的。
而f2本身就是一个float类型。
*/
class DataTypeDemo5 {
public static void main(String[] args) {
//把double赋值给float,加了强制类型转换
double d = 12.345;
float f = (float)d; //看看下面两个定义有没有区别呢?
float f1 = (float)12.345;
float f2 = 12.345F;
}
}
java学习(一)数据类型的更多相关文章
- Java学习——基本数据类型
Java两大数据类型 内置数据类型 引用数据类型 变量就是申请内存存储值,内存管理系统根据变量的类型分配相应的存储空间存储该类型的数据. 内置数据类型 8中基本类型(四个整数型,两个浮点型),一种字符 ...
- Java 学习:数据类型
前言:Java属于强类型语言 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 优势就是安全性高,但劣势速度慢 数据类型 Java的数据类型分为两大类: 基本类型(primit ...
- java学习笔记----数据类型,变量,常量
一.数据类型 1.基本类型(8种,又称内置数据类型).6种数字类型(byte,short,int,long,float,double),一种字符型(char),一种布尔类型(boolean). byt ...
- java学习笔记——数据类型及类型转换
数据类型分为: 1.引用类型(字符型); 2.基本数据类型(数值型); 以下为基本数据类型介绍(括号内的数字表示该类型所占据的字节数) a.整型 byte(8) short(16) int(3 ...
- Java学习--基本数据类型的定义和运算2
例1 public class OperateDemo01{ public static void main(String args[]){ int num = 22 ; System.out.pri ...
- Java学习--基本数据类型的定义和运算
例1: public class DataDemo05{ public static void main(String args[]){ char ch1 = '\"' ; // 表示的是一 ...
- java学习二 数据类型自动提升 0x开头的数据是 16进制且是int型
变量只能定义一次,不能定义两次, 变量的作用域:当前的大括号与子括号才有效 变量的作用:存储值,取值 整型:向上自动升级,向下强制降级 char,byte,shot参与运算时候自动提升为int型 因为 ...
- Java 学习(4):基本数据类型,变量类型
目录 --- 基本数据类型 --- 变量类型 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用 ...
- java学习笔记(3)数据类型、源码、反码、补码、精度损失、基本数据类型互相转换
关于java中的数据类型: 1.数据类型的作用是什么? 程序当中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用的空间大小不同. 数据类型的作用是指导java虚拟机(JVM)在运行程序的 ...
随机推荐
- [BZOJ][CQOI2014]数三角形
Description 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形. 注意三角形的三点不能共线. Input 输入一行,包含两个空格分隔的正整数m和 ...
- Delphi IOS class_addMethod
class_addMethod 学习FMX.Platform.iOS.pas文件的处理办法 d:\program files (x86)\embarcadero\studio\17.0\source\ ...
- rails scaffold生成的crud显示自定义的列名
1. 访问 rails i18n 插件的官方网站 ,查看信息http://guides.rubyonrails.org/i18n.html2. 在Gemfile 中加入 测试rails4.2.1不用 ...
- 【译】PGS字幕
PGS(Presentation graphic stream):图形字幕流,是用来显示蓝光电影中的字幕的流.当蓝光盘中的PGS格式的字幕被分离存储的时候通常保存在一个以sup为扩展名的文件中.(也可 ...
- Linux大牛分享的7道经典面试题和秒收 offer 的技巧
笔者其实没有想到去面试,只是在智联上更新了一下简历,就陆陆续续接到很多猎头的邮件和电话,闲话少说,下面就分享给大家Linuxer的面试经历: 首先,猎头或者公司人资会把公司的介绍及岗位要求发到你邮箱( ...
- Windows Intel VT-x开启
解决虚拟机安装64位系统“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的问题 背景:win7 旗舰版 64位+VMware 10.0 启动虚拟机时报错 问题:已将该虚拟机 ...
- Spring Boot @ControllerAdvice+@ExceptionHandler处理controller异常
需求: 1.spring boot 项目restful 风格统一放回json 2.不在controller写try catch代码块简洁controller层 3.对异常做统一处理,同时处理@Vali ...
- MySQL Innodb 神秘消失
问题描述: 早晨接到 Zabbix 报警,提示 Host: 10.10.1.2, MySQL 主从同步失败. 登录服务器查看具体情况. shell > mysql mysql> show ...
- 解决MySql 数据库 提示:1045 access denied for user 'root'@'localhost' using password yes
今天想用用MySQL 数据库 谁知道老提示 1045 access denied for user 'root'@'localhost' using password yes 最后在csdn 上找到 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 10—Advice for applying machine learning 机器学习应用建议
Lecture 10—Advice for applying machine learning 10.1 如何调试一个机器学习算法? 有多种方案: 1.获得更多训练数据:2.尝试更少特征:3.尝试更多 ...